如何从Python脚本调用应用程序

时间:2015-11-12 15:07:54

标签: python indentation

我想使用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))

1 个答案:

答案 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调用中使用。