生成测试文件夹和测试文件
import os
if __name__ == '__main__':
source_dir = input("请输入您想产生的文件夹名称:")
filename = os.path.join('./',source_dir)
try:
os.makedirs(filename)
except FileExistsError as e:
print("文件已经存在")
doc_number = input('您想产生的测试文件数量为:')
for i in range(int(doc_number)):
doc_name = os.path.join(filename,str(i)+'.txt')
with open(doc_name,'w') as f:
x = str(i) * 10
f.write(x)
文件拷贝功能实现代码
import os
import multiprocessing
def copy_doucument(source_dir,doc_name,copy_dir):
source_file = os.path.join(source_dir,doc_name)
with open(source_file,'r') as f:
x = f.read()
save_file = os.path.join(copy_dir,doc_name)
with open(save_file,'w') as f:
f.write(x)
if __name__ == '__main__':
source_doc = input("您想要复制的文件夹名称是:")
copy_doc = input('你想要复制到哪个文件夹中去?:')
source_dir = os.path.join(os.getcwd(),source_doc)
copy_dir = os.path.join(os.getcwd(),copy_doc)
current_dir = os.getcwd()
parent_dir = os.path.join(current_dir,os.pardir)
print(parent_dir)
print(source_dir)
print(copy_dir)
try:
os.makedirs(copy_dir)
except FileExistsError as e:
print("文件夹已经存在,开始复制")
lst_dir = os.listdir(source_dir)
pool = multiprocessing.Pool(5)
for doc_name in lst_dir:
pool.apply_async(copy_doucument,args=(source_dir,doc_name,copy_dir))
pool.close()
pool.join()
注意!!!!
如果使用了 pool.apply_async 却没有写 pool.close() 和 pool.join() ,程序不会运行成功