見出し画像

【小ネタ】ChatGPTでプログラミングしてみた

なにをしたいか?

 Pythonの勉強をしていると書籍のソースコードがネット上で配布されているのだが、項目ごとに「.pyファイル」で分かれていることがあり、一つ一つファイルを開かないといけない。
 手間なので、複数の「.pyファイル」を「.ipynbファイル」にまとめられないかーと考えた。
 そこで今回登場するのは「ChatGPT」。プログラミング初心者としては、エラーコードの修正で大活躍中である。

やってみた

ChatGPTに「tkinterで、複数の.pyファイルを選択して、一つの.ipynbファイルにまとめる」などと入力すれば、それっぽいコードが出てきた。
 修正点は、各セルの先頭に「.pyファイル」の名前を入れるようにしただけで、想定通りに動いた。

1.py


2.py
1.pyと2.pyをまとめた、12.ipynb
セルの先頭行にファイル名が入っている

コード

# tkinterで、複数の.pyファイルを選択して、一つの.ipynbファイルにまとめる ver.01

import tkinter as tk
from tkinter import filedialog
import nbformat as nbf
import os

root = tk.Tk()
root.withdraw()
files = filedialog.askopenfilenames(filetypes=[("Python files", "*.py")])

nb = nbf.v4.new_notebook()

for file in files:
    with open(file, "r") as f:
        code = f.read()
    cell = nbf.v4.new_code_cell(code)
    # Add file name as a comment to the beginning of the cell
    file_name = os.path.basename(file)
    cell.source = f"#@title {file_name}\n" + cell.source #各セルに入れる文字列 ここでは「#@title ファイル名」
    nb["cells"].append(cell)

file_path = filedialog.asksaveasfilename(defaultextension=".ipynb")
with open(file_path, "w", encoding="utf-8") as f:
    nbf.write(nb, f)

所感

 簡単なプログラムはChatGPTで書けてしまう。例えば、Excelの業務効率化をしたいなら、Pythonを1か月勉強して基礎が分かれば、ChatGPTが書いたコードを加筆修正していくだけで、十分に使えるコードが書けるのではないだろうか。
 コードを一から書くよりも、コードを読解力の方が重要になりそうである。

この記事が気に入ったらサポートをしてみませんか?