我写了一个程序,当我在Visual Studio Code中运行它时,它给出了一个错误,但是当我在Python IDLE中运行它时却没有。我已经设置了环境变量,但是它仍然不起作用。那你能告诉我如何解决这个问题吗?
当我导入文件以及要使用其他文件的各种地方时,也会发生这种情况
这是我的editor.py文件
fileName = "file.txt"
file = open("file.txt", "r+")
def file_len(fname):
with open(fname) as f:
for i, l in enumerate(f):
pass
return i + 1
for loop in range(file_len(fileName) + 1) :
print(loop)
这是我的file.txt
hallo
当我在Visual Studio Code中运行它时,出现此错误
PS C:\Users\Harry Kruger\Documents\code> & "C:/Program Files (x86)/Python37-32/python.exe" "c:/Users/Harry Kruger/Documents/code/quicks/compiler.py"
hallo
Traceback (most recent call last):
File "c:/Users/Harry Kruger/Documents/code/quicks/compiler.py", line 4, in <module>
file = open("file.txt", "r+")
FileNotFoundError: [Errno 2] No such file or directory: 'file.txt'
当我在python IDLE中运行ir时,它起作用了,输出是这个
0
1
答案 0 :(得分:1)
我猜您在目录"c:/Users/Harry Kruger/Documents/code/quicks
中运行python IDLE。因此,您的代码将通过,因为在此目录中(也可能是)file.txt
也是如此。
但是,在VS Code中,您似乎在python
不存在的目录C:\Users\Harry Kruger\Documents\code
中运行file.txt
,因此您的代码失败。
要解决此问题并在VS Code中运行代码,您有两个选择:
file.txt
的目录。根据您的情况,您应该可以输入cd "c:/Users/Harry Kruger/Documents/code/quicks"
,然后调用您的代码。with open()
语句。替换为:
from os import path
with open(path.join(path.abspath(path.dirname(__file__)), 'file.txt'), 'r+') as f:
此摘要将查找文件的绝对路径并打开它。