Python for 循环语法错误

Python for loop syntax error

for 循环似乎有语法错误,但我不知道为什么。我对 Python 有点陌生,我正在 Centos 中尝试这个。

fil = open('acnt_data_text.txt', 'r')
for data_str in fil:
    result = subprocess.call(["php", "class.php"], data_str)

print result

fil.close()

语法错误:invalid syntax: for data_str in fil:

您应该将冒号 (result = subprocess.call etc...) 之后的内容放在另一行,这样更容易阅读。此外,这可能会修复语法错误。

我觉得应该这样隔开

fil = open('acnt_data_text.txt', 'r')
for data_str in fil: 
   result = subprocess.call(["php", "class.php"], data_str)
print result

fil.close()

如果像这样使用 with 就可以避免关闭文件

with open('acnt_data_text.txt', 'r') as fil:
    for data_str in fil: 
       result = subprocess.call(["php", "class.php"], data_str)
    print result