我编写了一个程序,当我在Visual Studio Code中运行它时会出现错误,但是当我在Python IDLE中运行它时却没有。我已经设置了环境变量,但它仍然无效。那么请你告诉我如何解决这个问题
当我导入文件和我想要使用不同文件的各种地方时,也会发生这种情况
这是我的compiler.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代码中运行它时,它会出现此错误
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
我想你在"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:
这个snipet会查找文件的absoulte路径并打开它。