Directory 如何更改升华文本3中的当前工作目录?
每当我打开一个脚本(Python或R)时,我希望Sublime自动将当前工作目录更改为该文件的路径。可能吗Directory 如何更改升华文本3中的当前工作目录?,directory,settings,sublimetext3,preferences,cwd,Directory,Settings,Sublimetext3,Preferences,Cwd,每当我打开一个脚本(Python或R)时,我希望Sublime自动将当前工作目录更改为该文件的路径。可能吗 我添加了设置“working\u dir”:“$file\u path”,以提升首选项,但没有帮助 好的,我解决了这个问题。以下是我所做的: 安装Sublime Text 3软件包PackageResourceViewer 打开命令调色板,搜索PackageResourceViewer:Open Resource 浏览到Python资源,然后打开Python.sublime build 删
我添加了设置
“working\u dir”:“$file\u path”
,以提升首选项,但没有帮助 好的,我解决了这个问题。以下是我所做的:
PackageResourceViewer
PackageResourceViewer:Open Resource
Python
资源,然后打开Python.sublime build
“cmd”:[“python”、“-u”、“$file”],
“工作目录”:“$file\u path”,
“shell\u cmd”:“cd$file\u路径;python-u\”$file\”
如果您希望Sublime Text 3根据活动脚本的路径自动更改当前工作目录,请对
R
或其他构建资源执行相同的操作。您可以使用“视图”菜单中的“显示控制台”命令打开python控制台,然后键入
import os
os.chdir('/my/directory')
它会更改Sublime文本进程的工作目录以及它产生的任何进程。另一个解决方案:您知道控制台是用Alt打开的+“。当我使用Alt+1组合时,它直接选择当前文件路径。这种方式是每次打开sublime文本时都必须执行的操作。我也遇到了同样的问题,另外,如果我想导入模块,它总是会返回找不到的模块
要解决此问题:我将python.sublime-build文件的第一行更改为下面的内容
{
"shell_cmd": "cd $file_path; python -u \"$file\"",
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python",
{
"env": "PYTHONIOENCODING": "utf-8",
],
"variants":
}
{
"name": "Syntax Check",
"shell_cmd": "python -m py_compile \"${file}\"",
}
]
}
出于好奇,我想知道发生这种情况的原因,所以在对我的操作系统做了更多的调查后,我跑了:
import os
for k, v in os.environ.items():
print(k, v)
print(os.getcwd())
它返回我的环境变量及其值的字典,包括2个在构建结果PWD
和OLDPWD
中回答了我的问题:
PWD /Users/<myname>/code
OLDPWD /Users/<myname>/code/code_py
...
[Finished 0.0ms]
...
[shell_cmd: cd /Users/<myname>/code/code_py; python -u "/Users/<myname>/code/code_py/YT-tutorials.py"]
...
PWD/Users//code
OLDPWD/Users//code/code\u py
...
[完成0.0毫秒]
...
[shell\u cmd:cd/Users//code/code\u py;python-u”/Users//code/code\u py/YT tutorials.py”]
...
啊哈!
因为我之前添加了cd$HOME/code
my~/.bash_配置文件,所以每次我用python用sublime构建(command+B)时,我的shell配置文件都会在幕后更改目录,并将我移动到我的~/code目录中现在,在如上所述更改了python.sublime-build文件之后,此构建行为已得到修复-&我希望这也能帮助您 这是一个构建系统设置;它不会在常规首选项中做任何事情。如果您的目的是确保python脚本的工作目录与其所在位置相同,则需要将该行添加到默认python构建文件中。作为第三个选项。让shell_cmd保持原样,只是将working_dir添加到字典中,这对我很有用。但是,尝试在命令中使用“cd”的方法失败,表示“文件名、目录名或卷标语法不正确。”(在Windows上)。不清楚为什么,因为我有正确的路径。无论如何,使用_dir似乎是更好的方法。我在基于Unix的系统(MacOSX)上工作过,这就是它工作的原因。在Windows中,我认为应该将“cd”改为“dir”。对于需要升华自动更改目录的问题,这不是一个正确的解决方案