python讀取txt批量創建文件
前幾天有個小問題, 需要批量建立很多文件夾,, 所以手動寫了個小的腳本, 后續可以直接使用
讀取目錄文件, 然后直接創建相應的文件
基本思路:
- 就是讀取用戶輸入參數, 獲取所在路徑以及所要命名的后綴
- 獲取txt所在路徑, 得到同級目錄
- 讀取txt 的每一行 並計數得到數字
- 根據同級目錄拼接路徑, 創建文件(如果存在不覆蓋)
- 輸出結果
代碼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()