我想使用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))
答案 0 :(得分:2)
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
无法在os.system
循环之外的for
调用中使用。