首页 > Python3.5报错:获悉当前工作目录中的.py文件?

Python3.5报错:获悉当前工作目录中的.py文件?

正在看《编程入门(第三版)》,参考书上想写一个程序查看当前工作目录下的.py文件,却报错,求解答,谢谢。

【代码】

# 只获悉当前工作目录中的.py文件

def list_py(path = None):
    if path == None:
        path = os.getcwd()
        return [fname for fname in os.listdir(path) 
            if os.path.isfile(fname) 
            if fname.endswith('.py')]

【报错】

 File "8.4.1_list.py", line 16
    if os.path.isfile(fname)
    ^
IndentationError: unexpected indent

纯缩进错误,初学者,建议好好看看这一段



缩进出错, 如果没有逗号,在后面加个\


[fname for fname in os.listdir(path) 
            if os.path.isfile(fname) 
            if fname.endswith('.py')]

这是个python的列表解析。这是一条完整的语句,如果要换行的话,就要在行末加上"\"提示回车符并不是换行。很多语言都有这种写法。
如:

[fname for fname in os.listdir(path) \
            if os.path.isfile(fname) \
            if fname.endswith('.py')]

但是语句不长的话,建议这样写可读性好些。

[fname for fname in os.listdir(path) if (os.path.isfile(fname) and fname.endswith('.py'))]
【热门文章】
【热门文章】