一、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)
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/279925.html