Python subprocess.Call() 带有间隔参数,如“-charset FileName=latin”
Python subprocess.Call() with spaced argument like "-charset FileName=latin"
使用 Windows 10,我想使用 subprocess.call() 将以下标志从 python 发送到 exiftool.exe:
-charset 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
但是当我将“-charset FileName=CHARSET”添加到我的 subprocess.call() 时,它似乎被进程忽略了:
subprocess.call(
['exiftool',
f'-charset FileName=latin',
f'-P',
f'-overwrite_original_in_place',
f'-CreateDate={new_date}',
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])
-charset
和 FileName=latin
在作为列表传递时应该是两个不同的参数。
使用 Windows 10,我想使用 subprocess.call() 将以下标志从 python 发送到 exiftool.exe:
-charset 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
但是当我将“-charset FileName=CHARSET”添加到我的 subprocess.call() 时,它似乎被进程忽略了:
subprocess.call(
['exiftool',
f'-charset FileName=latin',
f'-P',
f'-overwrite_original_in_place',
f'-CreateDate={new_date}',
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])
-charset
和 FileName=latin
在作为列表传递时应该是两个不同的参数。