ChatGPTで大量のテキストファイルを自動生成するPythonコードを書いてもらった

ChatGPTで大量のテキストファイルを自動生成するPythonコードを書いてもらいました。

ChatGPTへの指示文:

pythonで指定した数のテキストファイルを作成して指定したフォルダに保存するプログラムを書いてください。テキストファイルの中身はランダムな10桁の数字を入れてください。ファイル名は日付(YYYYMMDD)_指定した数の桁に合わせた連番(指定数が100なら、YYYYMMDD_001.txt)という形にしてください。

回答:

以下はPythonで指定した数のテキストファイルを作成して指定したフォルダに保存するプログラムです。テキストファイルの中身はランダムな10桁の数字を含みます。ファイル名は日付(YYYYMMDD)_指定した数の桁に合わせた連番(指定数が100なら、YYYYMMDD_001.txt)という形式になります。


import os
import random
import string
from datetime import datetime

# フォルダのパスを指定する
folder_path = "/path/to/folder/"

# ファイルの数を指定する
num_files = 100

# 現在の日付を取得する
date_str = datetime.today().strftime('%Y%m%d')

# ファイル名の桁数を計算する
num_digits = len(str(num_files))

# 指定した数のファイルを作成する
for i in range(num_files):
    # ファイル名を作成する
    file_name = date_str + "_" + str(i+1).zfill(num_digits) + ".txt"

    # ファイルのパスを作成する
    file_path = os.path.join(folder_path, file_name)

    # ファイルを作成し、ランダムな数字を書き込む
    with open(file_path, "w") as f:
        random_str = "".join([random.choice(string.digits) for _ in range(10)])
        f.write(random_str)
            
        
結果:

生成するファイル数を10000としてRunさせたところ、以下のように成功しました。実行時間は一瞬です。
ただ、jupyter notebookでフォルダを開こうとすると、落ちてしました。。。 大量のファイルがあるフォルダをjupyterで開こうと、メモリ不足で極端に重くなるようです。