【问题标题】:How to specify in windows batch file to open spyder, change the working directory and run a script?如何在 Windows 批处理文件中指定打开 spyder、更改工作目录并运行脚本?
【发布时间】:2019-12-10 11:15:54
【问题描述】:

我创建了一个 Windows 批处理文件来运行位于特定文件夹中的代码。但是,我正在运行批处理文件,但它不起作用。我想要它做的是:

  1. 在 Spyder 中更改工作目录(Spyder 已经打开,所以我不想先打开它)
  2. 运行我要执行的脚本

基本上,我正在运行的脚本正在绘制一堆图表,创建这些图表所需的所有文件都位于工作目录中。

@echo off
"C:\Users\Mason\Desktop\WinPython-64bit-2.7.6.4\spyder.exe"
chdir /D "F:\optimisation"
"F:\optimisation\plot.py"
pause

批处理文件运行良好,没有任何错误,但在 Spyder 中没有任何反应,例如它不会改变工作目录,也不会执行代码。

【问题讨论】:

  • start "" /WAIT "F:\optimisation\plot.py"?
  • 那也没用。您还有其他建议吗?
  • python.exe "F:\optimization\plot.py"(假设python.exe的容器是在%PATH%变量中指定的;如果没有,指定它的完整路径,最好是引用)?
  • “python.exe 的容器在 %PATH% 中指定”到底是什么意思?顺便说一句,我使用的是便携式版本的 spyder。这会是问题吗?
  • 容器是存放可执行文件的目录。对于%PATH%,请参阅this。抱歉,不知道怎么处理spyder...

标签: batch-file spyder


【解决方案1】:

我建议

@echo off
setlocal
chdir /D "F:\optimisation"
"C:\Users\Mason\Desktop\WinPython-64bit-2.7.6.4\spyder.exe" "F:\optimisation\plot.py"
pause

即切换到需要的目录,设置本地环境(批处理结束时恢复原来的环境)。

然后运行spyder 可执行文件,并为其提供文件名。通常的做法是使用这种结构为可执行文件提供重要的文件名(例如notepad fred,txt

由于spyder运行时的当前目录为f:\optimisation,所以spyder的参数中可能不需要指定整个路径。

请注意,这只是使用常规做法的推测。我没有spyder的经验-其实这是我第一次听说。

【讨论】:

    猜你喜欢
    • 2013-09-25
    • 2017-09-03
    • 1970-01-01
    • 1970-01-01
    • 2018-04-10
    • 2019-02-23
    • 1970-01-01
    • 2011-07-05
    • 1970-01-01
    相关资源
    最近更新 更多