Python vscode-从.py文件所在的当前文件夹读取文件
我对编程和vscode非常陌生 我正在学习Python,目前正在学习如何使用文件 路径如下所示: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文
/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中不工作。请在问题中发布代码,您可以编辑它^^^至于您的问题本身,您可以查看