Python获取当前目录下所有文件的六种方法
在Python中,获取当前目录下所有文件的方法有很多种。以下是六种常见的方法:
- 使用os模块的os.listdir()方法
- 使用glob模块的glob()方法
- 使用os模块的os.walk()方法
- 使用pathlib模块的Path对象
- 使用os模块的os.scandir()方法
- 使用Bash脚本与Python的subprocess模块结合
以下是这些方法的示例代码:
- 使用os模块的os.listdir()方法:
import os
def list_files(dir):
return os.listdir(dir)
print(list_files('.'))
- 使用glob模块的glob()方法:
import glob
def list_files(dir):
return glob.glob(dir + '/*')
print(list_files('.'))
- 使用os模块的os.walk()方法:
import os
def list_files(dir):
files_list = []
for root, dirs, files in os.walk(dir):
for file in files:
if file not in ['.', '..']:
files_list.append(os.path.join(root, file))
return files_list
print(list_files('.'))
- 使用pathlib模块的Path对象:
from pathlib import Path
def list_files(dir):
return [str(p) for p in Path(dir).iterdir()]
print(list_files('.'))
- 使用os模块的os.scandir()方法:
import os
def list_files(dir):
return [entry.name for entry in os.scandir(dir) if entry.is_file()]
print(list_files('.'))
- 使用Bash脚本与Python的subprocess模块结合:
import subprocess
def list_files(dir):
return subprocess.check_output(['ls', dir]).decode('utf-8').split()
print(list_files('.'))
以上每种方法都可以获取当前目录下的所有文件,你可以根据自己的需求选择合适的方法。
评论已关闭