dan*_*nem 1 python syntax operating-system file
在过去的半小时里,我一直试图弄清楚这段代码有什么问题.它应该非常直接.此时我几乎已将其复制出文档.但无论我尝试什么,我都会收到语法错误.
这是代码:
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))
Run Code Online (Sandbox Code Playgroud)
每当我运行它,我收到错误
if os.path.isdir(x) == True:
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
但是,如果我在交互式解释器中编写相同的代码,它运行正常.
这个方法可以简单地不用在if循环中吗?
谢谢您的帮助.我在这一点上真的很沮丧......嘿.
Ste*_*zzo 11
这一行有一个括号:
files.append(os.path.realpath(x)
^
Run Code Online (Sandbox Code Playgroud)
Python抱怨这True:一点,因为它期待像这样的声明
(x if condition else y)
Run Code Online (Sandbox Code Playgroud)
正如jcomeau_ictx所说,你也应该== True在检查布尔值时忽略:
if x:
do_something
if not y:
do_something_else
Run Code Online (Sandbox Code Playgroud)