使用python进行文件操作是各种数据预处理的必备技能。主要涉及的是文件名和路径字符串处理。
import os, shutil, sys
获取当前.py文件目录
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
#添加到import库查询目录
sys.path.append(BASE_DIR)
复制移动文件和文件夹
#复制文件
shutil.copy("C:\\a\\1.txt","C:\\b")
#复制并重命名新文件
shutil.copy("C:\\a\\2.txt","C:\\b\\2.txt")
#复制整个目录
shutil.copytree("C:\\a","C:\\b\\b")
#移动文件或文件夹
shutil.move("C:\\a\\1.txt","C:\\b")
#删除文件
os.unlink("C:\\1.txt")
#删除文件夹及内容
shutil.rmtree("C:\\b\\new_a")
遍历目录
#遍历目录
for file in os.listdir(path):
file_path = os.path.join(path, file)
if not os.path.isdir(file_path):
list_name.append(file_path)
#递归地遍历子目录
root, dirs, files in os.walk(".", topdown=False):
for name in files:
print(os.path.join(root, name))
for name in dirs:
print(os.path.join(root, name))
文件名编号
filename = 'aaa%04d.txt' % i
文件名过滤
if 'test' in name:
print(name)
if name.startswith('aaa'):
print(name)
if name.lower().endswith('.txt'):
print(name)
#os.path.splitext()函数将路径拆分为文件名+扩展名
if os.path.splitext(file)[1] == '.txt':
print(name)