首页 > 解决方案 > Pycharm 和 stock IDLE [Mac] 之间的 os.popen() 结果不同

问题描述

我编写了一个脚本来根据照片的拍摄日期重命名照片。它在 mac 上运行并使用phil harvey 的 CLI exiftool

产生问题的命令如下:

os.popen("exiftool " + file path)

我使用 Pycharm CE 编写了脚本。我使用 exiftool 是因为它产生了最好的结果,并且在当时是最容易使用的。使用上面提到的命令,我得到了 exiftool 很好地格式化了所有元数据,只需将其分离并放入一个列表中。在编写脚本之前,我在 Pycharm CE 的控制台中尝试了所有操作。

Pycharm 的脚本和控制台都运行良好。但是,我最近尝试使用 Python 中的 IDLE 运行脚本。脚本失败,因为从控制台返回的总是一个空字符串。经过进一步研究,我使用了该subprocess.run()方法。错误是 CompletedProcess(args='exiftool PATH', returncode=127, stdout=b'', stderr=b'/bin/sh: exiftool: command not found\n') 输出也是空的。

我现在的问题是:

非常感谢您的帮助

阿里索特2000

标签: pythonmacospycharmoperating-system

解决方案


在命令提示符下,键入which exiftool以查找可执行文件的完整路径。然后,不要只调用exiftoolPython 脚本,而是使用完整路径。


推荐阅读