一、Python遍历目录树
import os
def traverse_folder(directory):
for filename in os.listdir(directory):
path = os.path.join(directory, filename)
if os.path.isdir(path):
traverse_folder(path)
else:
print(path)
traverse_folder('/path/to/directory')
要遍历目录树,我们可以使用Python的os模块。os.listdir()函数可以返回一个目录下的所有文件和文件夹的名称列表。通过检查每个名称对应的路径是文件还是目录,我们可以决定是否递归进入该目录并继续遍历。
二、Python目录在哪
在Python中,您可以使用os.getcwd()函数获取当前目录的路径:
import os
current_directory = os.getcwd()
print(current_directory)
三、Python遍历目录下的文件
如果您只想遍历目录下的文件而不进入子目录,可以使用os.path.isfile()函数。
import os
def list_files(directory):
for filename in os.listdir(directory):
path = os.path.join(directory, filename)
if os.path.isfile(path):
print(path)
list_files('/path/to/directory')
四、Python遍历文件内容
要遍历文件内容,您可以使用Python的内置函数open()以读取模式打开文件。
with open('/path/to/file', 'r') as file:
for line in file:
print(line)
五、Python遍历目录下的所有子目录
如果您希望遍历目录和所有子目录,您可以使用递归函数:
import os
def list_all_folders(directory):
for filename in os.listdir(directory):
path = os.path.join(directory, filename)
if os.path.isdir(path):
print(path)
list_all_folders(path)
list_all_folders('/path/to/directory')
六、Python遍历目录和子目录
要同时遍历目录和子目录中的文件,可以使用os.walk()函数。
import os
for dirpath, dirnames, filenames in os.walk('/path/to/directory'):
for filename in filenames:
path = os.path.join(dirpath, filename)
print(path)
七、Python多线程
在处理大型目录或文件时,Python的线程功能可以提高效率。下面是一个使用多个线程遍历目录的示例:
import os
from concurrent.futures import ThreadPoolExecutor
def list_all_files(directory):
for dirpath, dirnames, filenames in os.walk(directory):
for filename in filenames:
path = os.path.join(dirpath, filename)
print(path)
def traverse_in_threads(directory):
with ThreadPoolExecutor(max_workers=5) as executor:
executor.submit(list_all_files, directory)
traverse_in_threads('/path/to/directory')
八、Python遍历所有文件
要遍历目录及其所有子目录中的所有文件,可以使用os.scandir()函数。
import os
def list_all_files(directory):
for dirpath, dirnames, filenames in os.walk(directory):
for file in filenames:
path = os.path.join(dirpath, file)
print(path)
list_all_files('/path/to/directory')
九、Python循环遍历文件夹
如果您需要遍历多个目录,您可以将目录名称存储在列表中,并遍历该列表:
import os
directories = ['/path/to/directory1', '/path/to/directory2', '/path/to/directory3']
for directory in directories:
for filename in os.listdir(directory):
path = os.path.join(directory, filename)
if os.path.isfile(path):
print(path)
十、Python文件夹下所有文件
最后,如果您只需要获取某个目录下的所有文件名,可以使用os.listdir()函数:
import os
directory = '/path/to/directory'
files = os.listdir(directory)
for file in files:
path = os.path.join(directory, file)
if os.path.isfile(path):
print(path)