两个文件,.py文件和它用
调用的.txt文件champions_list = open('champions.txt','rU').read().split('\n')
位于文件夹C:\Users\[My Name]\Programming\[file name]
。
我通过命令提示符调用.py文件,它返回错误
IOError: [Errno 2] No such file or directory: champions.txt
之前有没有发生过这种事?
答案 0 :(得分:2)
当您使用open('champions.txt')
打开文件时,操作系统希望在当前目录中找到champions.txt
文件。当前目录是启动程序的命令提示符窗口的目录。这不一定与存储Python脚本的目录相同。
您可以通过执行以下操作来解决此问题:
import os
import sys
open(os.path.join(os.path.dirname(sys.argv[0]), 'champions.txt')
这将获取sys.argv[0]
中脚本的全名,获取目录部分,然后将其连接到所需的文件名。这将打开脚本目录中的文件,而不是当前目录。
(请注意,以这种方式使用sys.argv[0]
取决于操作系统,并且可以在Windows上运行,但在其他系统上可能无法以相同的方式运行。)
答案 1 :(得分:-1)
仅仅因为文件位于同一文件夹,因为脚本并不意味着python解释器知道该文件存在。它正在寻找cwd
中的文件。你可以:
os.path.append