質問: python3によるプログラミング プログラミング初心者です。 1ディレクトリにそれぞれ「01.tx python3によるプログラミング プログラミング初心者です。 1ディレクトリにそれぞれ「01.txt」「02.txt」「03.txt」があり、txtの名前だけ拾って「01.sh」「02.sh」「03.sh」を作成 2それぞれのshの中に、数字を記載させる(01.shならば01と書き込みたい) プログラムを作りたいのですが、どのように書くのがオススメでしょうか?
回答: https://docs.python.org/ja/3/library/os.html?highlight=os%20listdir#os.listdir https://docs.python.org/ja/3/library/os.html?highlight=os%20listdir#os.scandir https://docs.python.org/ja/3/library/pathlib.html あたりを使って、ファイル一覧を取得する → 書き込むシェルスクリプトを文字列として作成する。 その際に、ファイル名の一部を抜き出して文字列に埋め込む(正規表現モジュールreを使う等) → https://docs.python.org/ja/3/library/functions.html#open 等で文字列をファイルに書き出す という流れになるでしょう。 ただ、スクリプトの内容にもよりますが、私なら次のどれかにします。 ○シェルスクリプトは1つだけにして、ファイルを引数として指定して、その引数から「01」等を抜き出す。 変数に入ったファイル名から本体部分だけ取り出す方法は、検索すれば見つかります。 01.sh ↓ nanka1.sh 01.txt ○上記 + ファイルを複数指定できるようにする nanka2.sh *.txt ○上記のファイル指定をシェルスクリプト内でやってしまう nanka3.sh ○全部pythonでやってしまう。