从其自身文件夹以外的其他位置启动时 Python 脚本失败

从其自身文件夹以外的其他位置启动时 Python 脚本失败

我有一个简单的 Python 脚本,我想使用 Windows 中的任务计划程序定期在后台执行它。如果我在与脚本相同的文件夹中从命令行正常执行该脚本,则该脚本可以正常工作,例如使用命令“pythonw test.py”。但是,如果我移动到其他文件夹并使用脚本的绝对路径,则会失败。例如,当命令行当前不在 somefolder 中时,则执行“pythonw C:/somefolder/test.py”。

该脚本涉及创建文件,因此我知道脚本失败是因为没有创建文件。我怀疑是权限问题,但我已经尝试更改文件夹属性,让所有用户甚至权限组“Everyone”完全控制该文件夹。我还能尝试什么?

我有 Windows 10 Pro,Python 3

这是 Python 脚本,尽管正如我提到的,我知道代码可以正常工作:

import urllib.request, json, csv, time

with urllib.request.urlopen(***) as url:
    data = json.loads(url.read().decode())
    with open(time.strftime("%Y%m%d-%H%M%S") +".csv", 'w', newline='') as csvfile:
        csvwriter = csv.writer(csvfile)
        #csvwriter.writerow([datetime.datetime.now().strftime("%c")])
        csvwriter.writerow(data['chatters']['viewers'])

答案1

没关系,我是个笨蛋。脚本成功了,只是文件不是在脚本所在的文件夹中创建的,而是在启动脚本的文件夹中创建的。

相关内容