如何遍历目录查找所有扩展名为.py的文件?
查找目录中所有.py文件的简便方法
你之前写的file.contains('.py')是错误写法——Python字符串对象并没有contains方法,转成字符串再判断的逻辑也不成立。不用遍历字符,有两种简便方式替换第4行的判断逻辑:
方法一:用字符串endswith方法(最直接)
这是判断文件后缀最常用的方式,直接检查文件名是否以.py结尾:
def find_py_in_dir(): import os for file in os.listdir(): if file.endswith('.py'): # 这里写你要执行的操作,比如打印文件名或处理文件 print(file)
方法二:用os.path.splitext分离扩展名(更严谨)
如果遇到文件名包含多个点的情况(比如demo.py.tmp),这种方式能精准提取扩展名,避免误判:
def find_py_in_dir(): import os for file in os.listdir(): # splitext返回(文件名主体, 扩展名)的元组,取第二个元素对比 if os.path.splitext(file)[1] == '.py': print(file)
注意:os.listdir()默认遍历当前工作目录,要是想指定其他目录,给它传路径参数即可,比如os.listdir('/home/user/scripts')。
内容的提问来源于stack exchange,提问作者Pork Lord
相关产品推荐
相关产品推荐

