更改为带空格的目录…在.ipynb中工作,但在.py中不工作?

hm2xizp9  于 2021-09-08  发布在  Java
关注(0)|答案(1)|浏览(449)

尝试将我的jupyter笔记本转换为python脚本,这样我就可以每天自动化它们。在mac上。
这在笔记本电脑中可以正常工作:

cd '/Volumes/GoogleDrive/My Drive/dailyScripts'

但当我尝试将其作为.py文件运行时,会出现各种问题。
首先,它拒绝引用无效的语法。

cd '/Volumes/GoogleDrive/My Drive/dailyScripts'
   ^
SyntaxError: invalid syntax

所以我去掉了引号,但很明显,它不喜欢没有反斜杠的空白。

cd /Volumes/GoogleDrive/My Drive/dailyScripts
                          ^
SyntaxError: invalid syntax

然后我添加了一个反斜杠,但现在它不像python中的\是一个行延续字符。

cd /Volumes/GoogleDrive/My\ Drive/dailyScripts
                                              ^
SyntaxError: unexpected character after line continuation character

我也试过双引号。不知道还有什么其他选择。提前谢谢!

deikduxw

deikduxw1#

这是因为 cd 是命令行界面的shell命令(例如mac/linux上的终端,或windows上的命令提示符/powershell)。ipython笔记本电脑是“智能”的,当它们看到你开始使用 cd ... 它将自动为您通过伪终端运行它。
python本身并不了解 cd 或者其他shell程序,而是将其所有接口与内部的操作系统捆绑在一起 os 标准库中的模块。因此,要从python脚本内部更改目录,需要使用 os 模块并使用 chdir 功能如下:

import os

os.chdir("/Volumes/GoogleDrive/My Drive/dailyScripts")

进一步阅读os.chdir

相关问题