在Python中批量保存文件可以通过多种方式实现,以下是一些示例代码,展示了如何使用Python进行批量保存文件的操作:
示例1:按月份保存Word文档
import osimport refrom pprint import pprintorigin_dir = '原始文件/'target_dir = '目标文件/'files = os.listdir(origin_dir)month_compile = re.compile('(20\d\d)([0-9])')file_dict = {}for file in files:if file.endswith('.docx'):word_file = os.path.join(origin_dir, file)month = month_compile.search(word_file)if month:month = month.groups()if month[-1] == '00':month = re.search('(20\d\d)0([0-9])', word_file).groups()t1 = '-'.join(month)if t1 in file_dict.keys():file_dict[t1].append(word_file)else:file_dict[t1] = [word_file]for key, value in file_dict.items():target_sub_dir = os.path.join(target_dir, key)os.makedirs(target_sub_dir, exist_ok=True)for file in value:shutil.copy2(file, target_sub_dir)pprint(file_dict)
示例2:使用Pandas保存文本数据
import pandas as pdimport osimport reimport jieba设置当前工作路径os.chdir('C:\\Users\\Administrator\\Desktop\\示例数据')读取数据data2 = pd.read_excel('3.xlsx')data2_message = data2['详情']def wenben(a):b = 10000for i in range(len(a)):i_str = str(b + i + 1)file_name = i_str + '.txt'd = a[i]f = open('3详情/' + file_name, 'w', encoding='utf-8')f.write(d)f.close()wenben(data2_message)
示例3:使用zipfile进行文件压缩
import zipfileimport osimport timestart_dir = r'C:\Users\admin\Desktop\批量备份打包\压缩测试'target_dir = r'C:\Users\admin\Desktop\批量备份打包\备份目的地文件夹'today = target_dir + os.sep + time.strftime('%Y%m%d')if not os.path.exists(today):os.makedirs(today)with zipfile.ZipFile(today + '.zip', 'w', zipfile.ZIP_DEFLATED) as zf:for root, _, files in os.walk(start_dir):for file in files:zf.write(os.path.join(root, file), os.path.relpath(os.path.join(root, file), start_dir))
示例4:按组保存文件
import osfolder_capacity = 20def copy_files(src_dir, dest_dir):count = 0current_folder = ''for item in os.listdir(src_dir):abs_item = os.path.join(src_dir, item)if os.path.isfile(abs_item):count += 1if count % folder_capacity == 1:current_folder = os.path.join(dest_dir, str(count // folder_capacity))os.mkdir(current_folder)with open(os.path.join(current_folder, item), 'wb') as f:with open(abs_item, 'rb') as source_file:f.write(source_file.read())copy_files(r'C:\src', r'C:\dest')
示例5:批量下载文件
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/91794.html