我的书中指出:
计算机上运行的每个程序都有一个当前工作目录,或 cwd。任何不以根文件夹开头的文件名或路径都假定位于当前工作目录下
当我在 OSX 上时,我的根文件夹是 /。当我在 Python shell 中输入
os.getcwd()
时,我得到
/Users/apple/Documents
为什么我的 cwd 中会出现 Documents 文件夹?是说Python正在使用Documents文件夹吗?是否有任何以
/
(根文件夹)开头的通往Python的路径? 另外,每个程序都有不同的cwd吗?
是对的,在 macOS 上,根文件夹是
'/'
. 的书对当前工作目录 (cwd) 的描述是正确的,并且 Python 中的
os.getcwd()
函数返回当前工作目录的路径。
在的例子中,
'/Users/apple/Documents'
是启动 Python shell 时所在的目录。Python 并没有真正“使用” Documents 文件夹,而只是继承了该目录作为其 cwd。
以下是关于问题的更多详细信息:
-
每个程序都有不同的 cwd 吗? 是的,每个程序在任何给定时间都可能拥有其自己的 cwd。当打开一个终端窗口时,它通常从的主目录启动。如果从那里启动 Python,那么 Python 将继承该目录作为其 cwd。但是,可以通过代码或命令行界面更改 Python 进程的 cwd。其他程序,如的文本编辑器或网络浏览器,也将拥有它们自己的 cwd,这些 cwd 可以与 Python 的 cwd 或彼此不同。
-
是否有任何路径从根文件夹 (
'/'
) 到 Python? 是的,肯定有。尽管的 cwd 是'/Users/apple/Documents'
,但这仅仅是一个起点。可以从该位置访问文件系统中的任何文件或目录,包括位于'/'
的根目录。例如,可以使用'/'
打开一个位于根目录的文件:
with open('/etc/hosts', 'r') as f:
contents = f.read()
- Python“使用”Documents 文件夹吗? Python 并没有以任何特殊的方式“使用” Documents 文件夹。它只是启动 Python shell 时恰好所在的目录,因此它继承了该目录作为其 cwd。如果在另一个目录中启动了 Python shell,那么的 cwd 将会不同。
希望这对有所帮助!如果有任何其他问题,请告诉我。
标签:python,working-directory From: 45591428