每次我尝试执行诸如在 VScode 终端中运行程序(也发生在 PyCharm 中)之类的操作时,我必须输入完整路径名,而不仅仅是文件名。例如,不是只执行 ./bin/sumxy
enter OP(x, y): mult(10.1,12.4)
op: 'mult' x: 10.10 y: 12.40
enter OP(x, y): mult (8.3, 12.1)
op: 'mult' x: 8.30 y: 12.10
enter OP(x, y): sum(1.1, pickles)
error: invalid input.
enter OP(x, y): sum(1.1, 2.2)
op: 'sum' x: 1.10 y: 2.20
enter OP(x, y):
来运行程序,我必须输入 python3 test.py
。
现在,这很烦人,但它并没有太困扰我。困扰我的是当我的程序试图从其他地方拉/打开文件时。如果我想要一个名为 Apple.jpeg 的图像,而不是仅仅输入 Apple.jpeg,我必须去查找它的完整路径名。如果我要将一段代码上传到 GitHub 之类的地方,想要自己测试此代码的人将不得不进入并仅用文件名替换每个路径名,否则将无法正常工作他们的电脑。这个问题已经持续了一段时间,遗憾的是我还没有找到解决方案。我会很感激我得到的任何帮助。如果这有所作为,我也在 Mac 上。
答案 0 :(得分:0)
您可以使用 os 和 sys 为您提供 python 文件文件夹的完整路径。
Sys 为您提供路径,而 os 为您提供将其与文件名合并的可能性。
import sys, os
print(sys.path[0]) # that is the path to the directory of the python file
print(sys.path[0]+'/name.txt') #full path to the file
print(os.path.join(sys.path[0],'name.txt')) # os.path.join takes two parameters and merges them as one path using / but the line above is also fine
答案 1 :(得分:0)
在 VS Code 中,其内部终端默认在当前打开的项目文件夹中。因此,当您使用命令“python file_name.py”运行该文件时,终端无法找到内部文件夹中存在的文件。 因此,除了使用文件路径之外,我们还可以添加相关设置来帮助它找到文件。
运行:当使用运行按钮执行文件时,我们可以在“settings.json”中添加如下设置,它会自动进入执行文件的父文件夹。
"python.terminal.executeInFileDir": true,
“在终端执行文件时,是否使用文件所在目录执行,而不是当前打开的文件夹。”
debug:为了调试代码,我们需要在“launch.json”中添加如下设置:
"cwd": "${fileDirname}",