Python 将.py转换为.exe时无法包含.txt文件
我最近制作了一个应用程序,使用selenium自动分配提交内容。我想将这个.py文件转换为.exe文件,这样我就可以将它提供给其他人在他们的计算机上使用 这是项目的当前目录:Python 将.py转换为.exe时无法包含.txt文件,python,exe,pyinstaller,Python,Exe,Pyinstaller,我最近制作了一个应用程序,使用selenium自动分配提交内容。我想将这个.py文件转换为.exe文件,这样我就可以将它提供给其他人在他们的计算机上使用 这是项目的当前目录: C: canvas automation chromedriver.exe main.py canvas_subjects.txt 在main.py文件中,它使用canvas_subjects.txt文件,如下所示: with open('c:/canvas automat
C:
canvas automation
chromedriver.exe
main.py
canvas_subjects.txt
在main.py文件中,它使用canvas_subjects.txt文件,如下所示:
with open('c:/canvas automation/canvas_subjects.txt', 'r+') as subjects:
chrome_dir = 'C:/PythonProjects/Web Scraping/Selenium/chromedriver.exe'
driver = webdriver.Chrome(chrome_dir)
driver.minimize_window()
if subjects.read() != '':
# does the rest of the program here
当我尝试将main.py转换为.exe时,运行.exe文件会产生错误:
Failed to execute main script
我猜当它运行python脚本时,它找不到以下目录:
c:/canvas automation/canvas_subjects.txt
要将此文件转换为.exe,我已尝试使用pyinstaller:
C:\Users\user> pip install pyinstaller
C:\Canvas Automation> pyinstaller main.py
# also tried
C:\Canvas Automation> pyinstaller --onefile -w main.py
.exe文件已创建,但输出相同的错误
我已经尝试过auto py to exe,但它说您需要将以下代码合并到脚本中,以便.exe文件可以找到目录,但我不知道如何使用它:
def resource_path(relative_path):
""" Get absolute path to resource, works for dev and for PyInstaller """
try:
# PyInstaller creates a temp folder and stores path in _MEIPASS
base_path = sys._MEIPASS
except Exception:
base_path = os.path.abspath(".")
return os.path.join(base_path, relative_path)
不能在那样的exe中包含txt文件。这里有两种解决方案:
NB2:无论哪种方式,如果你打算发布你的软件,你真的不应该使用像“c:…”这样的绝对路径
如果在包含.txt文件时遇到问题,请按顺序尝试以下命令以启用它: CTRL+A 退格 CTRL+S ALT+F4
如果问题仍然存在,请告诉我。谢谢您的帮助。如果我计划分发,你能建议我应该如何设置文件吗?然而,不制作.exe文件是有意义的。