Skip to main content
 首页 » 编程设计

python之我没有得到关于 os 模块的东西吗

2025年05月04日10langtianya

在过去的半小时里,我一直在努力弄清楚这段代码有什么问题。它应该非常简单。此时我实际上已经从文档中复制了它。但无论我尝试什么,我都会收到语法错误。

代码如下:

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