Pythonでtarfileモジュールを使用してtarファイルを作成する

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形式のファイルがまとめられていることが確認できました。

コメント

タイトルとURLをコピーしました