Vsc提供了一个错误,但是python空闲了吗?

时间:2019-03-24 09:58:58

标签: python visual-studio-code

我写了一个程序,当我在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

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中运行代码,您有两个选择:

  1. 在VS Code powershell中,导航到包含file.txt的目录。根据您的情况,您应该可以输入cd "c:/Users/Harry Kruger/Documents/code/quicks",然后调用您的代码。
  2. 您可以修改代码以使用文件的绝对路径。然后,您可以从任何目录调用它。为此,您必须修改with open()语句。替换为:
    from os import path
    with open(path.join(path.abspath(path.dirname(__file__)), 'file.txt'), 'r+') as f:
    
    此摘要将查找文件的绝对路径并打开它。