python讀取txt批量創建文件


python讀取txt批量創建文件

前幾天有個小問題, 需要批量建立很多文件夾,, 所以手動寫了個小的腳本, 后續可以直接使用

讀取目錄文件, 然后直接創建相應的文件

基本思路:

  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()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM