代码可以在空闲状态下工作,但在VS代码中会出错

时间:2019-07-16 06:06:27

标签: python python-3.x visual-studio-code python-idle

因此,我正在编写需要导入文件的代码。 python代码文件和我需要导入的文件都在同一目录中,因此我没有指定完整路径。

该代码在IDLE中工作正常,但在Visual Studio代码中出现错误

我添加了这一行 “打印(很少)” 检查它是否在IDLE中工作。它会打印出来。

import random
infile=open("StatesANC.txt","r")
print("few")

我在Visual Studio中收到的错误如下:-

Traceback (most recent call last):
File "f:/SKKU/study/ISS3178 - Python/11/Lab Assignment 11.py", line 2, in <module>
infile=open("StatesANC.txt","r")
FileNotFoundError: [Errno 2] No such file or directory: 'StatesANC.txt'

4 个答案:

答案 0 :(得分:0)

给出完整的路径,它应该随处可见

假设您正在使用linux系统,并且文件位于家庭的xyz文件夹中

import random
infile=open("/home/xyz/StatesANC.txt","r")
print("few")

答案 1 :(得分:0)

正如其他人指出的那样,问题在于IDLE和Visual Studio Code的默认工作目录可能不同。

一种测试方法是在脚本的开头添加以下内容:

import os
cwd = os.getcwd()
print(cwd)

如果确实如此,则可以使用以下命令将工作目录更改为脚本之一(其文件路径存储在特殊变量__file__中)

import os

script_path = os.path.dirname(os.path.abspath(__file__))
os.chdir(script_path)

此代码应在打开文件之前放置。

答案 2 :(得分:0)

假设文本文件与python文件位于同一目录中,则您应该能够执行以下操作:

import random
import os

file_name = "StatesANC.txt"
basedir = os.path.dirname(os.path.abspath(__file__))
file_path = os.path.join(basedir, file_name)

infile=open(file_path,"r")
print("few")

答案 3 :(得分:0)

open(r"/rootpath/subpath/StatesANC.txt","r")上放置绝对路径,可能文件StatesANC.txt不在路径f:/SKKU/study/ISS3178 - Python/11/上。