如何从 Python 脚本调用应用程序
How to call an application from a Python script
我想使用 Python 脚本更改输出文件名,然后执行图像处理任务。但是,我收到此错误:
> unindent does not match any outer indentation level
这是我的代码:
#!/usr/bin/env python
import glob
import os
files=glob.glob("*.hdr")
for file in files:
new_file = file.replace("hdr","exr")
print(new_file)
os.system("pfsin %s | pfsoutexr --compression NO %s" (file, new_file))
Python 关心缩进 - 我相信你想要这个:
files=glob.glob("*.hdr")
for file in files:
new_file = file.replace("hdr","exr")
print(new_file)
os.system("pfsin %s | pfsoutexr --compression NO %s" % (file, new_file))
此外,请注意,我相信您在 --compression NO %s" % (file, new_file)
中遗漏了 %
(这就是为什么您会收到“'str' 对象不可调用”错误的原因)。 %
符号是字符串格式运算符 - 请参阅 this answer.
的第二部分
注意 os.system()
调用之前的额外空格。如果你换一种方式:
files=glob.glob("*.hdr")
for file in files:
new_file = file.replace("hdr","exr")
print(new_file)
os.system("pfsin %s | pfsoutexr --compression NO %s" % (file, new_file))
我相信它不会 运行 - new_file
对 for
循环之外的 os.system
调用不可用。
我想使用 Python 脚本更改输出文件名,然后执行图像处理任务。但是,我收到此错误:
> unindent does not match any outer indentation level
这是我的代码:
#!/usr/bin/env python
import glob
import os
files=glob.glob("*.hdr")
for file in files:
new_file = file.replace("hdr","exr")
print(new_file)
os.system("pfsin %s | pfsoutexr --compression NO %s" (file, new_file))
Python 关心缩进 - 我相信你想要这个:
files=glob.glob("*.hdr")
for file in files:
new_file = file.replace("hdr","exr")
print(new_file)
os.system("pfsin %s | pfsoutexr --compression NO %s" % (file, new_file))
此外,请注意,我相信您在 --compression NO %s" % (file, new_file)
中遗漏了 %
(这就是为什么您会收到“'str' 对象不可调用”错误的原因)。 %
符号是字符串格式运算符 - 请参阅 this answer.
注意 os.system()
调用之前的额外空格。如果你换一种方式:
files=glob.glob("*.hdr")
for file in files:
new_file = file.replace("hdr","exr")
print(new_file)
os.system("pfsin %s | pfsoutexr --compression NO %s" % (file, new_file))
我相信它不会 运行 - new_file
对 for
循环之外的 os.system
调用不可用。