在过去的半小时里,我一直试图弄清楚这段代码有什么问题。它应该非常直接。此时我几乎已将其复制出文档。但无论我尝试什么,我都会收到语法错误。
以下是代码:
def addfiles(folder):
foldercont = [os.path.normcase(f) for f in os.listdir(folder)]
for x in foldercont:
if os.path.isfile(x) == True:
files.append(os.path.realpath(x)
if os.path.isdir(x) == True:
addfiles(os.path.realpath(x))
每当我运行它时,我都会收到错误
if os.path.isdir(x) == True:
^
SyntaxError: invalid syntax
但是,如果我在交互式解释器中编写相同的代码,它运行正常。
这个方法可以简单地不在if循环中使用吗?
感谢您的帮助。在这一点上我真的很沮丧......嘿。
答案 0 :(得分:11)
这一行有一个括号:
files.append(os.path.realpath(x)
^
Python抱怨True:
位,因为它期待像
(x if condition else y)
正如jcomeau_ictx所说,在检查布尔值时你也应该忽略== True
:
if x:
do_something
if not y:
do_something_else
答案 1 :(得分:1)
你错过了前一行的括号。