[解決済み] python/zip: zip アーカイブでファイルの絶対パスが提供されている場合、絶対パスを削除するには?
2023-05-16 11:37:51
質問
私は2つのファイルを2つの異なるディレクトリに持っています。
'/home/test/first/first.pdf'
で、もうひとつは
'/home/text/second/second.pdf'
. これらを圧縮するために、以下のコードを使用しています。
import zipfile, StringIO
buffer = StringIO.StringIO()
first_path = '/home/test/first/first.pdf'
second_path = '/home/text/second/second.pdf'
zip = zipfile.ZipFile(buffer, 'w')
zip.write(first_path)
zip.write(second_path)
zip.close()
作成したzipファイルを開いてみると
home
フォルダがあり、その中に2つのサブフォルダがあります。
first
と
second
の順に記述し、次にpdfファイルを記述します。フルパスでZIPアーカイブに圧縮されるのではなく、2つのpdfファイルだけを含める方法がわかりません。私の質問が明確であることを願っています。ありがとうございます。
どのように解決するのですか?
zipfile write() メソッドは、zip ファイルに格納されるアーカイブ名である追加引数 (arcname) をサポートしているので、コードを変更するだけでよいでしょう。
from os.path import basename
...
zip.write(first_path, basename(first_path))
zip.write(second_path, basename(second_path))
zip.close()
のドキュメントを読んでいる暇があったら zipfile のドキュメントを読むとよいでしょう。
関連
-
[解決済み] Pythonでパスから拡張子なしでファイル名を取得する方法は?
-
[解決済み] Pythonが解釈される場合、.pycファイルとは何ですか?
-
[解決済み] 他のPythonファイルをインポートするには?
-
[解決済み] Pythonでファイルの絶対パスを取得する方法
-
[解決済み] ディレクトリのZIPアーカイブを作成する方法は?
-
[解決済み】zlib、gzip、zipはどのように関係していますか?これらの共通点と相違点は何ですか?
-
[解決済み] Jupyterノートブックでenv変数を設定する方法
-
[解決済み] SQLAlchemy - テーブルのリストを取得する
-
[解決済み] tensorflowのCPUのみのインストールでダイナミックライブラリ 'cudart64_101.dll' を読み込めなかった
-
[解決済み] Pythonの文字列の前にあるbという接頭辞は何を意味するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Pythonのキャッシュライブラリはありますか?
-
[解決済み] PILからopenCVフォーマットへの変換
-
[解決済み] django.db.migrations.exceptions.InconsistentMigrationHistory
-
[解決済み] 文字列のリストを内容に基づいてフィルタリングする
-
[解決済み] 範囲指定された浮動小数点数のランダムな配列を生成します。
-
[解決済み] あるオブジェクトが数であるかどうかを確認する、最もパイソン的な方法は何でしょうか?
-
[解決済み] PyQtアプリケーションのスレッド化。QtスレッドとPythonスレッドのどちらを使うか?
-
[解決済み] Python 言語を決定するには?
-
[解決済み] Pythonでランダムなファイル名を生成する最良の方法
-
[解決済み] Pythonの辞書にあるスレッドセーフについて