Vsc发出错误但python空闲没有?

问题描述 投票:1回答:1

我编写了一个程序,当我在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
python visual-studio-code
1个回答
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: 这个snipet会查找文件的absoulte路径并打开它。
© www.soinside.com 2019 - 2024. All rights reserved.