Pythonでtarfileモジュールを使用してtarファイルを作成してみます。
tarは、「Tape Archive」の略語で、ファイルアーカイブのファイルフォーマットの一種です。多くのファイルを1つのファイルにまとめることができるアーカイブファイルとなっています。
tarfileモジュールは、Pythonの標準ライブラリです。事前にインストールする必要はありません。
■Python
今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)
■まとめるファイルを用意する
tarファイルを作成するために、まとめるファイルを用意します。
今回は、txt形式のテキストファイルを3つ用意しました。このテキストファイルが置かれている場所(C:\Users\user_\test(フォルダパス))です。
■tarfileモジュールを使用してtarファイルを作成する
まとめるファイルが用意できましたので、tarfileモジュールを使用してtarファイルを作成するスクリプトを書いていきます。
■コード
import tarfile filename = "test_all.tar" file_object = tarfile.open(filename,"w") file_object.add(r"C:\Users\user_\test\test_1.txt") file_object.add(r"C:\Users\user_\test\test_2.txt") file_object.add(r"C:\Users\user_\test\test_3.txt") file_object.close()
tarファイルを作成する際は、importでtarfileモジュールを呼び出します。
呼び出した後に、今回はfilenameという変数を定義し、その中に作成するtarファイルと名前を格納します。
格納後、file_objectという変数を定義し、その中でopen()関数を使用します。open()関数を使用し、括弧内には第1引数,パラメーターとして、filename内の空のtarファイルを渡します。第2の引数,パラメーターとして、filename内の空のtarファイルを「”w”(書き込み)」モードで開く指示を渡します。「”w”(書き込み)」モードで開いた状態のfilename変数を格納します。
その後、add()関数を使用し、「”w”(書き込み)」モードで開いた状態のfilename変数(file_object変数)に、指定された要素を追加します。指定された要素というのは、今回では「C:\Users\user_(フォルダパス)」に置かれているtest_1.txt,test_2.txt,test_3.txtです。
追加後、close()関数を使用し、「”w”(書き込み)」モードで開いた状態のfilename変数(file_object変数)を閉じます。
■実行
このスクリプトを「tar_archives.py」という名前で保存し、コマンドプロンプトから実行してみます。
実行してみると、今回のスクリプトでは、tarファイルの作成の完了を、print()関数を使用し、文字列として出力するといったコードは記述していないので、実行しても何も出力されません。
出力されませんが、Pythonが実行されている作業ディレクトリ(カレントディレクトリ)を確認すると、「test_all.tar」というtarファイルが生成されていることが確認できました。
確認後、Lhaplusを使用し、作成したtarファイルを解凍してみると、今回用意した3つのtxt形式のファイルがまとめられていることが確認できました。
コメント