如何对批量TXT文件应用脚本并生成对应命名的结果文件
批量处理TXT文件的脚本修改方案
问题背景
你现有处理单个TXT文件的脚本如下:
pipeline.load_files('txt', '1.txt') pipeline.transform('function0','file.jpg', '1.txt') pipeline.write('txt', 'result.txt', opt={'c':None}) pipeline.score(function='function1', file ='file.jpg') pipeline.score(function='function2', file ='file.jpg') pipeline.write_csv('result.csv')
需要将其批量应用于文件夹内的1.txt至100.txt,生成对应命名的result1.txt至result100.txt、result1.csv至result100.csv。
解决方案
使用Python的for循环遍历数字范围,动态生成每个步骤的文件名即可,修改后的脚本如下:
for i in range(1, 101): # 动态生成当前文件的名称 input_filename = f"{i}.txt" output_txt = f"result{i}.txt" output_csv = f"result{i}.csv" # 执行处理流程,替换为动态文件名 pipeline.load_files('txt', input_filename) pipeline.transform('function0', 'file.jpg', input_filename) pipeline.write('txt', output_txt, opt={'c':None}) pipeline.score(function='function1', file='file.jpg') pipeline.score(function='function2', file='file.jpg') pipeline.write_csv(output_csv)
核心要点
range(1, 101)会生成1到100的整数(range是左闭右开区间,因此结束值设为101)- 利用f-string(Python 3.6+支持)格式化字符串,快速生成带序号的文件名,写法简洁直观
- 将原脚本中固定的文件名替换为动态生成的变量,确保每个输入文件对应唯一的输出文件组
兼容旧Python版本写法
如果你的Python版本低于3.6,可改用字符串格式化的传统写法:
input_filename = "%d.txt" % i output_txt = "result%d.txt" % i output_csv = "result%d.csv" % i
内容的提问来源于stack exchange,提问作者LTE
相关产品推荐
相关产品推荐

