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

标签 python syntax file operating-system

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

代码如下:

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/

相关文章:

python - 如何使用标签提取标签内的文本?

python - 将泛型子类的类型推断为将自身作为类型

css - 这是什么语法 CSS (& :after, nested selectors ...)

sql-server-2005 - 关键字 'AS' 附近的语法不正确

c# - 如何在 Xamarin 中正确保存文件到共享文件夹中?

python - 在python中删除字符串的未知部分

Python:将字符串列表与元组列表进行比较,并根据匹配或不匹配创建新列表

syntax - C++/CLI 中的 "for each"语句

iOS:UIImagePNGRepresentation().writeToFile 未写入预期目录

java - 如何查找 Zip 文件目录中的任何文件