python读取txt批量创建文件

时间:2022-05-07 10:01:06

python读取txt批量创建文件

pythonbatchfile

前几天有个小问题, 需要批量建立很多文件夹,, 所以手动写了个小的脚本, 后续可以直接使用

读取目录文件, 然后直接创建相应的文件

基本思路:

  1. 就是读取用户输入参数, 获取所在路径以及所要命名的后缀
  2. 获取txt所在路径, 得到同级目录
  3. 读取txt 的每一行 并计数得到数字
  4. 根据同级目录拼接路径, 创建文件(如果存在不覆盖)
  5. 输出结果

代码demo


<script src="https://gist.github.com/SChen1024/86a70fb31d2ecbb4092c6c70b1270352.js"></script>

#!/usr/bin/python
# -*- coding: UTF-8 -*- import sys
import os # 输入 指定 txt 文件路径, 创建文件的后缀 txt js
# 读取指定文件的txt 文档
# 在 txt 的同级目录下面建立相应的文件 def ReadArg():
"""
通过sys模块来识别参数demo, http://blog.csdn.net/ouyang_peng/
"""
print('参数个数为:', len(sys.argv), '个参数。')
print('参数列表:', str(sys.argv))
print('脚本名为:', sys.argv[0])
for i in range(1, len(sys.argv)):
print('参数 %s 为:%s' % (i, sys.argv[i]))
return sys.argv def ReadTxtLists(file):
'''
读物 txt 文件中的文件列表
'''
res =[]
with open(file,'r') as f:
for line in f:
line.strip('\n')
line = ''.join(line.split())
res.append(line)
return res def CreateFile(file):
with open(file, 'a'):
os.utime(file,None) def main():
argv = ReadArg()
suffix = "txt" # 默认后缀 # 只有两个参数表示没有 给后缀名
if(len(argv) >= 3):
suffix = argv[2] file_name= argv[1] # 读取得到所有的文件名
files = ReadTxtLists(file_name) (filepath, filename) = os.path.split(file_name) # 计数 生成拼接文件
# 最终创建文件 如果存在 不更新文件
cnt = 0
for file in files:
cnt += 1
file_str = filepath + "\\" + str(cnt).zfill(2) + "_" + file + "." + suffix
CreateFile(file_str)
print(file_str+'\n')
if __name__ == "__main__":
main()