Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python vscode-从.py文件所在的当前文件夹读取文件_Python_Visual Studio Code_Vscode Settings - Fatal编程技术网

Python vscode-从.py文件所在的当前文件夹读取文件

Python vscode-从.py文件所在的当前文件夹读取文件,python,visual-studio-code,vscode-settings,Python,Visual Studio Code,Vscode Settings,我对编程和vscode非常陌生 我正在学习Python,目前正在学习如何使用文件 路径如下所示:/home/anewuser/learning/chapter10 问题:完全基本的“用python读取文件”课程在vscode中不起作用,因为在运行位于~/learning/chapter10中的my.py文件时不会出现此类文件或目录错误。但是vscode希望我应该用python打开的.txt文件位于~/learning目录中,然后它就可以工作了。我不喜欢这种行为 我想要的只是能够读取放置在.py文

我对编程和vscode非常陌生

我正在学习Python,目前正在学习如何使用文件

路径如下所示:
/home/anewuser/learning/chapter10

问题:完全基本的“用python读取文件”课程在vscode中不起作用,因为
在运行位于
~/learning/chapter10
中的my.py文件时不会出现此类文件或目录
错误。但是vscode希望我应该用python打开的.txt文件位于
~/learning
目录中,然后它就可以工作了。我不喜欢这种行为


我想要的只是能够读取放置在.py文件所在目录中的文件。如何执行此操作?

因为在您的情况下,
~/learning
是默认的cwd(当前工作目录),VSCode在该位置查找
pi\u digits.txt
。如果将
pi\u digits.txt
放在
文件\u reader.py
(位于
~/learning/chapter10
)旁边,则必须指定路径(通过在
chapter10/
文件前面加上
前缀)

所以你应该这样做:

打开('chapter10/pi_digits.txt')作为文件对象的
:
contents=file\u object.read()
印刷品(目录)

如果要更改默认的当前工作目录(例如,要将其更改为
~/learning/chapter10
),则必须执行以下操作:

~/learning/chapter10/file\u reader.py

import os#首先需要导入模块“os”
#将cwd设置为“第10章”
os.chdir('第10章')
#现在,“file_reader.py”和“pi_digits.txt”都在cwd中
以open('pi_digits.txt')作为文件对象:
contents=file\u object.read()
印刷品(目录)
使用
os.chdir('chapter10')
您已经将
chapter10
设置为默认cwd,VSCode现在将在其中查找
pi\u digits.txt

有关
os.chdir()
的详细信息,您可以通读或查看stackoverflow

在“用户设置”中,使用搜索栏查找“python.terminal.executeInFileDir”,并将其值设置为“true”而不是“false”

我从这里得到了这个答案 这是我第一次回答StackOverflow的问题
因此,如果我没有按正确的方式做,我深表歉意

欢迎使用so。请查收。为了帮助人们理解您的问题,您需要发布一些代码,并在可能的情况下突出显示导致问题的代码部分。在您的情况下,这听起来像是文件夹问题。如何使用Python内置的
open
函数?@Al-un读取文件是最基本的代码:
以open('pi_digits.txt')作为文件对象:contents=file_object.read()print(contents)
错误:
回溯(最近一次调用):file/home/anewuser/learning/chapter10/file_reader.py),第1行,在以open('pi_digits.txt')作为文件对象的情况下:FileNotFoundError:[Errno 2]没有这样的文件或目录:'pi_digits.txt'
当我将.py和pi_digits.txt都放在
~/learning/chapter10
中时,会发生此错误。当我把'pi_digits.txt'放到
~/learning
目录中时,它就工作了。如何使它在同一目录中工作?谢谢此外,当直接在终端中运行时,此代码工作正常。没有错误。其他IDE(如KDevelop)也没有问题,但它在vscode中不工作。请在问题中发布代码,您可以编辑它^^^至于您的问题本身,您可以查看