import os
import shutil
import zipfile
import sys
def creat_folder(path): # 创建文件夹,参数为文件夹存放的路径
is_exist = os.path.exists(path) # 判断该路径下文件夹是否存在
if not is_exist: # 不存在就创建
os.makedirs(path)
else:
print('目标文件夹已存在\n')
print("已完成文件夹的创建\n")
def creat_file(path): # 创建文件
for i in range(1, 101): # 循环,i从1到101,创建1.txt....100.txt
with open(path + str(i) + '.txt', 'w') as f:
f.write('')
print("已完成100个空文本文件的创建\n")
def copy_files(init_path, to_path): # 重命名、复制文件 ,init_path为要复制的文件的路径,to_path为复制文件存放的路径
for foldName, subFolders, filenames in os.walk(init_path): # filenames为所有文件名的列表
for filename in filenames: # 遍历列表下的所有文件名
# print(filename) # 测试是否成功读取
new_name = filename.replace(filename, 'Lab_'+filename) # 为文件赋予新名字,不改变原来文件名字
# print(new_name+'\n') # 测试是否成功改名
shutil.copyfile(os.path.join(init_path, filename), os.path.join(to_path, new_name)) # 复制并移动文件
print("已完成100个空文本文件的改名并复制移动到output2文件夹\n")
# path_of_zip为创建的压缩文件的位置,path_of_content1为.py文件路径,path_of_content2为output1和output2的父文件夹路径
def compress_file(path_of_zip, path_of_content1, path_of_content2):
_zip = zipfile.ZipFile(path_of_zip, 'w', zipfile.ZIP_DEFLATED)
_zip.write(path_of_content1) # 注意实参为os.path.basename(os.path.abspath(sys.argv[0])),只含有.py文件路径
# 这里path为'E:\\Python\\output1'和'E:\\Python\\output2',filenames为1.txt...100.txt和Lab_1.txt...Lab_100.txt
for path, dir_names, filenames in os.walk(path_of_content2):
# f_path为'output1'和'output2'
f_path = path.replace(path_of_content2, '')
for filename in filenames:
# os.path.join(path, filename)为E:\\Python\\output1\\i.txt和E:\\Python\\output2\\Lab_i.txt;
# os.path.join(path, filename)为output1\\i.txt和output2\\Lab_i.txt
_zip.write(os.path.join(path, filename), os.path.join(f_path, filename))
_zip.close()
if __name__ == '__main__':
creat_folder('E:\\Python\\output1')
creat_file('E:\\Python\\output1\\')
creat_folder('E:\\Python\\output2')
copy_files('E:\\Python\\output1', 'E:\\Python\\output2')
# os.path.basename(os.path.abspath(sys.argv[0]))返回本代码的.py文件路径
compress_file('C:\\Users\\35116\\Desktop\\几米Python作业1(郭先达).zip',
os.path.basename(os.path.abspath(sys.argv[0])),
'E:\\Python')
Python创建文件夹和空文本文件,遍历文件重命名并写入另一个文件夹,压缩文件夹和文件
最新推荐文章于 2021-02-10 16:33:30 发布