微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

带有间隔参数如“ -charset FileName = latin”的Python subprocess.Call

如何解决带有间隔参数如“ -charset FileName = latin”的Python subprocess.Call

使用Windows 10,我想使用subprocess.call()将以下标志从python发送到exiftool.exe:

-字符集FileName = latin

以下命令行输入可以正常工作:

exiftool -charset FileName=latin -overwrite_original -createdate="1960:05:01 12:00:00" 
"Tif format EXIF sample\Førskole IMG031.tif"

通过python设置呼叫也可以。它发出警告,但仍会运行:

subprocess.call(
    ['exiftool',f'-P',f'-overwrite_original_in_place',f'-CreateDate={new_date}',file_or_folder_path])

Gives Warning:    
C:\source\image-file-date-bulk-edit\Tif format EXIF sample\Førskole IMG031.tif
FileName encoding not specified.  Use "-charset FileName=CHARSET"
Warning: FileName encoding not specified - C:\source\image-file-date-bulk-edit\
Tif format EXIF sample\Førskole IMG031.tif

但是当我在subprocess.call()中添加“ -charset FileName = CHARSET”时,该进程似乎将其忽略:

subprocess.call(
    ['exiftool',f'-charset FileName=latin',file_or_folder_path])

Charset flag is ignored and warning persists: 
C:\source\image-file-date-bulk-edit\Tif format EXIF sample\Førskole IMG031.tif
Warning: Tag 'charset' is not defined
FileName encoding not specified.  Use "-charset FileName=CHARSET"
Warning: FileName encoding not specified - C:\source\image-file-date-bulk-edit\Tif format EXIF sample\Førskole IMG031.tif

为什么在后一种情况下忽略 f'-charset FileName = latin'

解决方法

尝试:

subprocess.call(
    ['exiftool','-charset','FileName=latin',f'-P',f'-overwrite_original_in_place',f'-CreateDate={new_date}',file_or_folder_path])

-charsetFileName=latin在作为列表传递时应该是两个不同的参数。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?