我是编程和vscode的新手。
我正在学习Python,目前正在学习有关处理文件的信息。
路径如下:/home/anewuser/learning/chapter10
。
问题:完全基本的“在python中读取文件”课程在vscode中不起作用,因为运行位于no such file or directory
的.py文件时出现~/learning/chapter10
错误。但是vscode希望将我应该在python中打开的.txt文件放在~/learning
目录中,然后它才能工作。我不喜欢这种行为。
我想要的是能够读取放置在.py文件所在目录中的文件。该怎么做?
答案 0 :(得分:0)
因为在您的情况下,~/learning
是默认的cwd(当前工作目录),所以VSCode在该位置查找pi_digits.txt
。如果将pi_digits.txt
放在file_reader.py
旁边(位于~/learning/chapter10
),则必须指定路径(通过在chapter10/
文件前添加.txt
)。
所以您应该这样做:
with open('chapter10/pi_digits.txt') as file_object:
contents = file_object.read()
print(contents)
如果要更改默认的当前工作目录(例如,要将其更改为~/learning/chapter10
),则必须执行以下操作:
〜/ learning / chapter10 / file_reader.py
import os # first you need to import the module 'os'
# set the cwd to 'chapter10'
os.chdir('chapter10')
# now 'file_reader.py' and 'pi_digits.txt' are both in the cwd
with open('pi_digits.txt') as file_object:
contents = file_object.read()
print(contents)
使用os.chdir('chapter10')
,您已经将chapter10
设置为默认密码,VSCode现在将在其中查找pi_digits.txt
。
有关os.chdir()
的详细信息,您可以通读the official documentation或查看this post的stackoverflow。
答案 1 :(得分:0)
在“用户设置”中,使用搜索栏查找“ python.terminal.executeInFileDir”,并将其值(=)设置为“ true”,而不是“ false”。
我从这里得到了这个答案 How to run python interactive in current file's directory in Visual Studio Code? 这是我第一次在StackOverflow上给出答案 所以我很抱歉,如果我做得不好