我需要exiftool
通过 django 调用 shell,但 django 似乎无法使用这个软件。当我exiftool -j <image>
在终端中运行时,它运行良好,但在 django 中,None
我认为的结果显示 django 无法使用它。下面的代码显示了我在 django 中如何使用exiftool
:
cmd_get_meta = 'exiftool -j "{filename}"'.format(filename=filename)
process = subprocess.Popen(cmd_get_meta,
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT,
shell=True)
raw_result = process.communicate()
meta = json.loads(str(raw_result[0], 'utf-8'))[0]
raw-result
在我调用进程后为 None 并且显示以下错误:
File "/usr/lib/python3.5/json/decoder.py", line 357, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
我必须注意,我使用 uwsgi 运行 django,但我不知道由哪个用户运行。抱歉,我是 Ubuntu 新手,我对用户和权限的了解不够。如果您需要更多信息,请告诉我。谢谢
我运行ps aux | grep exiftool
,ps aux | grep uwsgi
结果是:
$ ps aux | grep uwsgi
backend 1243 0.0 0.0 14224 988 pts/9 S+ 14:52 0:00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn uwsgi
www-data 20469 0.0 0.7 222664 63984 ? S 2018 32:55 /usr/bin/uwsgi --ini /usr/share/uwsgi/conf/default.ini --ini /etc/uwsgi/apps-enabled/hamclassy.ini --daemonize /var/log/uwsgi/app/hamclassy.log
www-data 32357 0.0 0.8 473188 67804 ? Sl 14:18 0:00 /usr/bin/uwsgi --ini /usr/share/uwsgi/conf/default.ini --ini /etc/uwsgi/apps-enabled/hamclassy.ini --daemonize /var/log/uwsgi/app/hamclassy.log
www-data 32358 0.0 0.8 473188 67436 ? Sl 14:18 0:00 /usr/bin/uwsgi --ini /usr/share/uwsgi/conf/default.ini --ini /etc/uwsgi/apps-enabled/hamclassy.ini --daemonize /var/log/uwsgi/app/hamclassy.log
www-data 32362 0.0 0.8 476604 67700 ? Sl 14:18 0:00 /usr/bin/uwsgi --ini /usr/share/uwsgi/conf/default.ini --ini /etc/uwsgi/apps-enabled/hamclassy.ini --daemonize /var/log/uwsgi/app/hamclassy.log
www-data 32363 0.0 0.8 472792 67296 ? Sl 14:18 0:00 /usr/bin/uwsgi --ini /usr/share/uwsgi/conf/default.ini --ini /etc/uwsgi/apps-enabled/hamclassy.ini --daemonize /var/log/uwsgi/app/hamclassy.log
www-data 32368 0.0 0.9 482496 74316 ? Sl 14:18 0:01 /usr/bin/uwsgi --ini /usr/share/uwsgi/conf/default.ini --ini /etc/uwsgi/apps-enabled/hamclassy.ini --daemonize /var/log/uwsgi/app/hamclassy.log
www-data 32372 0.0 0.8 476348 67296 ? Sl 14:18 0:00 /usr/bin/uwsgi --ini /usr/share/uwsgi/conf/default.ini --ini /etc/uwsgi/apps-enabled/hamclassy.ini --daemonize /var/log/uwsgi/app/hamclassy.log
www-data 32376 0.0 0.8 477884 69996 ? Sl 14:18 0:01 /usr/bin/uwsgi --ini /usr/share/uwsgi/conf/default.ini --ini /etc/uwsgi/apps-enabled/hamclassy.ini --daemonize /var/log/uwsgi/app/hamclassy.log
www-data 32377 0.0 0.8 477116 68968 ? Sl 14:18 0:00 /usr/bin/uwsgi --ini /usr/share/uwsgi/conf/default.ini --ini /etc/uwsgi/apps-enabled/hamclassy.ini --daemonize /var/log/uwsgi/app/hamclassy.log
$ ps aux | grep exiftool
backend 1233 0.0 0.0 14224 1016 pts/9 S+ 14:52 0:00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn exiftool