在过去的半小时里,我一直在努力弄清楚这段代码有什么问题。它应该非常简单。此时我实际上已经从文档中复制了它。但无论我尝试什么,我都会收到语法错误。
代码如下:
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 循环之类的地方吗?
感谢您的帮助。在这一点上我真的很沮丧……呵呵。
最佳答案
此行缺少一个括号:
files.append(os.path.realpath(x)
^
Python 提示 True:
位,因为它期待像这样的语句
(x if condition else y)
正如 jcomeau_ictx 所说,您还应该在检查 bool 值时省略 == True
:
if x:
do_something
if not y:
do_something_else
关于python - 我没有得到关于 os 模块的东西吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6241253/