下面是Python使用os模块和fileinput模块来操作文件目录的完整攻略:
1. os模块操作文件目录
os模块可以帮助我们实现文件夹的创建、移动、复制等操作。
1.1 创建文件夹
我们可以使用os模块中的makedirs()函数来创建新的文件夹,它也可以一次性创建多个文件夹。具体的函数调用代码如下:
import os
# 创建单个文件夹
os.mkdir('new_folder')
# 创建多个文件夹
os.makedirs('folder1/folder2/folder3')
1.2 移动和复制文件夹
使用os模块中的rename()函数可以对文件夹进行移动和重命名操作,也可以使用copy()函数来对文件夹进行复制操作。具体的函数调用代码如下:
import os
import shutil
# 移动文件夹
os.rename('old_folder', 'new_folder')
# 复制文件夹
shutil.copytree('old_folder', 'new_folder')
1.3 删除文件夹
使用os模块中的remove()函数来删除指定的文件夹,函数调用代码如下所示:
import os
os.rmdir('folder') # 只能删除空文件夹
os.removedirs('folder1/folder2/folder3') # 递归删除空文件夹
shutil.rmtree('folder') # 递归删除文件夹及其内部所有文件
2. fileinput模块操作文件内容
fileinput模块可以帮助我们在读取文件时,顺带对文件进行一些修改操作。
2.1 挑选出文件中包含某个字符串的行
使用fileinput模块的input()函数可以遍历一个文件的行,并选取包含某个字符串的行。具体的函数调用代码如下所示:
import fileinput
# 读取文件,并选取包含指定字符串的行
for line in fileinput.input('file.txt'):
if 'example' in line:
print line,
2.2 对文件中的所有行进行替换操作
使用fileinput模块的FileInput类可以对文件中每一行进行修改操作,具体的代码调用如下所示:
import fileinput
# 将文件中所有的"abc"替换为"123"
for line in fileinput.input('file.txt', inplace=True):
print line.replace('abc', '123'),
通过上述示例可以发现,Python不仅可以操作文件夹,还可以对文件内容进行修改,这一点十分方便。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python使用os模块和fileinput模块来操作文件目录 - Python技术站