

python 3.x

`zipapp`モジュールを使って，pyzアーカイブファイルを作りました．  
pyzの中にテキストファイルが含まれている場合，そのテキストファイルへどのようにアクセスすればよいのでしょう．  
Javaの場合はjarファイル内のテキストを読み取れると思うのですが，Pythonでは不可能なのでしょうか．

例

[code]

    test.pyz
    |-- main.py
    `-- a.txt
    
[/code]

  * main.py内からa.txtにアクセスしたい
  * test.pyzと同じディレクトリにa.txtを置けば読み取れるが，pyzの中に入れたい


CC BY-SA 4.0
2018-12-05T04:32:02.000
50913
2018-12-05T06:26:39.857
30876
question
python python3
pyz内のテキストファイルにアクセスしたい


おそらく [pkgutil](https://docs.python.org/ja/3/library/pkgutil.html) モジュールの
get_data
か、[pkg_resouces](https://docs.galaxyproject.org/en/master/lib/pkg_resources.html)
モジュールの resource_stream などが使えるでしょう。

この辺の記事を参考にしてください。  
[python: can executable zip files include data
files?](https://stackoverflow.com/q/5355694/9014308)  
[Way to access resource files in
python](https://stackoverflow.com/q/10935127/9014308)  
[Python: 自作パッケージにデータファイルを含める](https://blog.amedama.jp/entry/2015/12/26/012332)  
[Using C based Python modules in zipped Python
directories](https://stackoverflow.com/q/38624132/9014308)  
[How to read a (static) file from inside a Python
package?](https://stackoverflow.com/q/6028000/9014308)


CC BY-SA 4.0
2018-12-05T06:26:39.857
50917
2018-12-05T06:26:39.857
26370
50913
answer