
No.2ベストアンサー
- 回答日時:
with open('index.html', 'w') as fo:
for f in ['header.txt', 'body.txt', 'footer.txt']:
with open(f, 'r') as fi:
fo.writelines(fi.readlines())
No.1
- 回答日時:
> ネット検索をしますと、複雑な処理の記事しか見つからず、単純に
マージします方法が見つかりません
あー、それは単純に言うとPythonの仕事じゃないから、ですよ。
OSの仕事です。
正確に言うとOSのコマンドの仕事だから、です。
例えばUNIX/Linuxだと単純なファイルマージは、貴方の例だと
cat header.txt body.txt footer.txt > index.html
とやっちゃいます。Pythonなんかのスクリプト言語を使う場合は、「もっと細やかな事をやりたい」場合なんですよね。大雑把で良ければOSのコマンド使った方が色々と早いのです(と言うか、そのためにOSのコマンドが存在する)。
じゃあ、全部Pythonで行えないのか、と言うとそういうわけでもなくって、何故に「スクリプト言語」と呼ばれるのか、その理由の一端が「プログラミング言語内からOSのコマンドを実行出来る」から、です。
最も単純な例だと
import os
しちゃって上のコマンドを文字列にしちゃってos.system()に渡しちゃう事。
os.system("cat header.txt body.txt footer.txt > index.html")
そうすれば、Python内からOSのコマンドが呼び出せて実行出来ます。
が。
問題は、この場合、Pythonが各OS(WindowsとかUNIX/LinuxとかMacOS Xとか)の差違を吸収してくれないんですよね。少なくともDOSコマンドとUNIXのコマンドはだいぶ違うので困ったちゃんです。
多分WindowsでのDOSコマンド流用版は
os.system("type header.txt body.txt footer.txt > index.html")
なんじゃないかしらん。
Windowsあまり使わないんで詳しくは知りません。"DOS コマンド ファイル 結合"とでもググって調べてみてください。
また、最近では
import process
して
process.run("hoge")
する事が流行ってるそうです。こっちも"Python process.run"ででもググって調べてみてください。
ありがとうございます
OSのコマンドを打ちます方法もあるのですね
OSコマンドの辺り、Perlで経験ありますけれど同じ要領でしょうね
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) Python でWindowsのショートカット(.lnk)のプロパティを参照したい 1 2023/02/01 15:09
- Visual Basic(VBA) 複数ファイルのデータの統合について 12 2022/05/14 12:03
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- AJAX RPA(PowerAutomate)の実装について 1 2023/07/31 13:46
- Visual Basic(VBA) 複数ブックの統合について Excel VBA 1 2022/05/13 09:48
- その他(プログラミング・Web制作) pythonをjupiter notebookからmecabで頻出の高い単語の抽出について(Runt 1 2022/12/17 18:08
- その他(プログラミング・Web制作) pythonのpandasのcsvの外部結合(outer_join)した際に列が想定とは異なる事象 1 2022/05/25 13:23
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- その他(プログラミング・Web制作) テキストデータ変換(プログラミング、linux、python) 8 2023/08/08 16:39
- その他(メールソフト・メールサービス) Thunderbirdの連絡先をコピーしたい 3 2023/06/21 15:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチ終了時にDOS窓を閉じるコ...
-
バッチファイル 文字列にスペ...
-
make test って何をするための...
-
DOSコマンドに詳しい方、お知恵...
-
コマンドプロンプト
-
VB6・一括でファイル名の変更...
-
シェルスクリプト内のcdで、カ...
-
バッチファイルでdiskpart.exe...
-
バッチファイルで文字列を順番...
-
バッチファイルでのMACアドレス...
-
ftpコマンド出力結果の取得
-
バッチえファイルを編集するに...
-
AccessVBAで実行時間を指定する...
-
シェルの「:コマンドが見つか...
-
コマンドプロンプトのバッチで...
-
if [ 条件式 ]とif[[ 条件式 ]]
-
findstrでヒットした1行前の文...
-
コマンドプロンプトをクリック...
-
2つ目の「pause」は無効?
-
コマンドプロンプトのERRORLEVE...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチ終了時にDOS窓を閉じるコ...
-
バッチファイル 文字列にスペ...
-
make test って何をするための...
-
シェルの「:コマンドが見つか...
-
コマンドプロンプトをクリック...
-
ftpコマンドを実行すると「425 ...
-
findstrでヒットした1行前の文...
-
ショートカットをデスクトップ...
-
バッチファイルを使ってテキス...
-
Pythonで単純にファイルを結合...
-
フォルダ、ファイル操作に最適...
-
ftpコマンド出力結果の取得
-
シェルスクリプト内のcdで、カ...
-
AccessVBAで実行時間を指定する...
-
powershellでlinuxのduコマンド...
-
SSH接続でwindowsサーバのコマ...
-
FTPの連続実行でフリーズする
-
コマンドプロンプトとCygwinの違い
-
Windowsのバッチ(bat)ファイル...
-
xCopyコマンドでネットワークご...
おすすめ情報