Python生成一个文件只在启动时产生致命错误?

2024-04-19 10:09:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个程序,使批处理文件放入启动文件夹本身。当您手动启动程序时,此操作有效,但当程序已在“Startup”文件夹中并且在启动时自动启动时,我会收到以下错误:

Fatal Error: Python failed to execute the script

我把它缩小到创建并写入批处理文件本身的函数,尽管当程序已经在startup文件夹中时,这个函数是无用的,因为我使用了一个“if”语句来防止这种情况发生。你知道吗

下面是函数的代码:

def moveIO():
    move = open('moveIO.bat','w')
    move.write('move /Y "' + str(dirName) + '\\FPSBooster.exe" "' + str(targetPath) + '\\Microsoft\\Windows\\Start Menu\\Programs\\Startup"')
    move.close()

以下是变量和“if”语句,用于检测程序是否已在stratup文件夹中:

dirName = os.path.dirname(os.path.abspath(__file__))
targetPath = os.getenv('APPDATA')
if dirName != targetPath + '\\Microsoft\\Windows\\Start Menu\\Programs\\Startup':
moveIO()

Tags: 文件函数程序文件夹moveifoswindows
2条回答

试试这个

move = open("moveIO.bat", "w+")

w+:打开一个文件进行写入和读取。如果文件存在,则覆盖现有文件。如果文件不存在,则创建一个用于读写的新文件。你知道吗

我们发现,答案隐藏在缺失的信息背后。你知道吗

OP使用了pyinstaller,这造成了很多麻烦。删除它并通过python正确运行脚本直接解决了这个问题。你知道吗

我建议尝试nuitka,它将脚本转换为C代码,然后编译成.exe,从而避免了创建临时目录时丢失访问权限和将python解释器转储到其中等问题。你知道吗

相关问题 更多 >