通过IDLE运行时,脚本找到了必要的文件,但是通过终端[关闭]运行时,找不到文件。

问题描述 投票:0回答:1

外部文件是必需的,因为我在那里存储了所有年级的字典,例如:{'calculusGrades':'94.75 %', 'discreteGrades':'87.34 %'}。然后,我的程序打开文本文件,将内容作为字符串,然后使用ast库将字符串转换为字典。

该脚本运行得很好,我很高兴我能够做到这一点。当我在IDLE中按F5键测试程序时,它按预期运行。但是,当我转到终端并输入:

python3 /home/pi/Desktop/gradesNotification/script.py

它一直运行到需要打开我的成绩的文本文件。我收到错误:

FileNotFoundError: [Errno 2] No such file or directory: 'grades'

该文本文件与脚本位于同一文件夹中,我完全不知道为什么它可以在IDLE中工作,但不能在终端上工作。 

我正在使用python 3在Raspberry Pi 4上。

我有一个Python脚本,每小时使用Selenium来获取我的班级成绩,如果我的成绩已更改,我会通过电子邮件向我发送电子邮件。我这样做的方法是使用Selenium Webdriver来...

python linux scripting raspbian
1个回答
1
投票
相对于当前工作目录cwd给出文件名。您在IDLE中的cwd可能是成绩所在的目录,但是终端窗口在其他位置。尝试更改到正确的目录,或指定grades文件的完整路径。

0
投票
我想最容易解决您的问题的方法是在代码中指定成绩文件的绝对路径:
© www.soinside.com 2019 - 2024. All rights reserved.