首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨

[教程]轻松掌握:Python批量写入文件夹的5大高效技巧

发布于 2025-06-28 03:30:47
0
129

1. 使用os模块遍历文件夹在Python中,os模块提供了丰富的文件和目录操作函数。要批量写入文件夹,首先可以使用os.listdir()或os.scandir()来遍历文件夹中的所有文件。impo...

1. 使用os模块遍历文件夹

在Python中,os模块提供了丰富的文件和目录操作函数。要批量写入文件夹,首先可以使用os.listdir()os.scandir()来遍历文件夹中的所有文件。

import os
def write_to_files(directory, content): for filename in os.listdir(directory): filepath = os.path.join(directory, filename) with open(filepath, 'w') as file: file.write(content)
# 示例:将"Hello, World!"写入当前目录下的所有文件
write_to_files('.', "Hello, World!")

2. 使用os.walk()遍历文件夹树

如果你的目标文件夹包含子文件夹,那么os.walk()是一个更合适的选择。它可以递归遍历文件夹树,并对每个文件执行操作。

import os
def write_to_files_recursively(directory, content): for root, dirs, files in os.walk(directory): for filename in files: filepath = os.path.join(root, filename) with open(filepath, 'w') as file: file.write(content)
# 示例:将"Hello, World!"写入当前文件夹及其所有子文件夹中的文件
write_to_files_recursively('.', "Hello, World!")

3. 使用subprocess模块执行外部命令

在某些情况下,你可能需要使用外部命令来批量写入文件,例如使用cat命令在Linux系统中。subprocess模块可以让你在Python中执行这些命令。

import subprocess
def write_to_files_with_command(directory, content): command = f"cat << EOF > {directory}/*\n{content}\nEOF" subprocess.run(command, shell=True)
# 示例:使用外部命令将"Hello, World!"写入当前目录下的所有文件
write_to_files_with_command('.', "Hello, World!")

4. 使用shutil模块移动或复制文件

如果你需要将文件从一个文件夹复制或移动到另一个文件夹,并且想要在目标文件夹中为每个源文件创建一个新文件,可以使用shutil.copy()shutil.move()

import shutil
def copy_files_to_directory(source_directory, target_directory, content): for filename in os.listdir(source_directory): source_filepath = os.path.join(source_directory, filename) target_filepath = os.path.join(target_directory, filename) with open(source_filepath, 'r') as file: content_to_write = file.read() with open(target_filepath, 'w') as file: file.write(content_to_write)
# 示例:将当前目录下的所有文件的内容复制到另一个文件夹,并写入新的内容
copy_files_to_directory('.', 'target_directory', "Hello, World!")

5. 使用pathlib模块处理文件路径

Python 3.4及以上版本引入了pathlib模块,它提供了一个面向对象的文件系统路径接口。使用pathlib可以更方便地处理文件路径。

from pathlib import Path
def write_to_files_with_pathlib(directory, content): for path in Path(directory).rglob('*'): with path.open('w') as file: file.write(content)
# 示例:使用pathlib将"Hello, World!"写入当前目录及其所有子文件夹中的文件
write_to_files_with_pathlib('.', "Hello, World!")

以上是Python中批量写入文件夹的五大高效技巧。每个技巧都有其适用的场景,你可以根据具体需求选择合适的方法。

评论
一个月内的热帖推荐
csdn大佬
Lv.1普通用户

452398

帖子

22

小组

841

积分

赞助商广告
站长交流