Python 如何使用pyinstaller在与exe相同的目录中添加二进制数据文件?

Python 如何使用pyinstaller在与exe相同的目录中添加二进制数据文件?,python,compilation,binary,pyinstaller,Python,Compilation,Binary,Pyinstaller,我有一个二进制文本文件,我想使用pyinstaller将它嵌入到--onefile中。 文本文件应与程序的目录相同。 我使用了pyinstaller--onefile--addbinary a.txt;。A.py但它创建了一个错误权限错误:[Errno 13]权限被拒绝:'C:\\Users\\name\\Appdata\Local\pyinstaller\bin000cache\A.txt尝试以管理员身份运行,该文件不允许可执行文件访问它。。。。 或者,您可以从另一个py脚本中创建一个py脚本

我有一个二进制文本文件,我想使用pyinstaller将它嵌入到
--onefile
中。 文本文件应与程序的目录相同。
我使用了
pyinstaller--onefile--addbinary a.txt;。A.py
但它创建了一个错误
权限错误:[Errno 13]权限被拒绝:'C:\\Users\\name\\Appdata\Local\pyinstaller\bin000cache\A.txt
尝试以管理员身份运行,该文件不允许可执行文件访问它。。。。 或者,您可以从另一个py脚本中创建一个py脚本,并让该脚本将二进制数据作为变量存储,它可能与文本文件大小相同,但我不会在编辑器中打开该脚本

a='txtfile="""'
with open('script.py' as 'wb') as v:
    with open('file.txt', 'rb') as f:
         a+=f.read()
    a+="""'
    v.write(a)
对多行字符串使用var=/something 一旦导入script.py
它将把所有这些都读入内存,但是你可以
delscript.txtfile
以后

我已经尝试过那种管理方法。我想我会选择第二种方法。这里是多行字符串的语法,使用import来“打开文件”,然后使用del来“关闭文件”。同样,将真实文本文件视为二进制文件也是令人困惑的,如果需要的话,您可以读作“r”或“w”,然后使用string.encode('utf-8')。否则我怀疑它实际上不是一个文本文件。。如果二进制与你有关,实际上它存储了一些变量,这就是为什么我需要二进制模式