假设我有python模块foo.py
和文件myfile.txt
驻留在同一目录中。 foo.py
包含以下代码以读取myfile.txt
:
from os import path
myfile_path = path.join(path.dirname(__file__), 'myfile.txt')
myfile = open(myfile_path)
我发现自己在不同的模块中反复写path.join(path.dirname(__file__), '...')
。是否有更短,更简单的方法从与python模块相同的目录中读取文件?
我不知道这是否适用于您的实际情况,但这是我发现的内容:
应该有一个定义调试器工作方式的JSON文件。对我来说,我使用VS Code,并使用Microsoft Python调试器。它使用一个名为launch.json的文件,并包含一个名为"configurations"
:
"configurations": [
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "internalConsole"
]
缺少名称为"cwd"
的键,该键是“当前工作目录”的缩写(您可以阅读有关here的更多信息)。如果使用空白引号""
来添加它,那么当Python搜索没有指定路径的文件时,它将在同一文件夹中搜索。显示最后几行内容:
"program": "${file}",
"console": "internalConsole",
"cwd": ""
]
有关更多一般性建议,调试器或运行Python文件的任何其他程序,都需要正确定义其工作目录。
我知道这个职位在某个时候已有19个月的历史了,但是我希望这对某人有帮助!