我为这个问题的简单而道歉。我正在学习用python编程,我最近的任务是学习使用文件。不幸的是,我似乎无法正确构建路径语句以打开特定文件。为了让事情变得更有趣,我是双用户操作系统。我在MacOS和Windows上工作。
我已经尝试在python中使用“os”模块生成一个特定于操作系统的路径,该路径应该适用于任何一个操作系统,但我继续得到FileNotFoundError。这是我在Mac上尝试的内容。请注意,该文件的路径位于我的目录toddb下的Users文件夹中的主驱动器(Macintosh HD)上。文件名是st.txt
import os
path = os.path.join("Users", "toddb", "st.txt")
stlaunch = open(path, "r")
此时我得到:
FileNotFoundError: [Errno 2] No such file or directory:
由于我没有明确说明根驱动器,我也尝试过:
path = os.path.join("Macintosh HD", "Users", "toddb", "st.txt")
运行代码时出现同样的错误。
答案 0 :(得分:2)
OSX有一个名为/
的根。 Windows有多个根(驱动器),例如,C:\\
。在python中,您可以使用正斜杠引用窗口路径,如C:/
。
在任何一种情况下,即使用户目录具有默认位置,也可以移动它们,从而使任何硬性规则变得困难。这些操作系统通常将主目录放入环境变量中,您可以将它们拼接在一起以找到您的家。
Python还具有os.path.expanduser
功能,可以为您提供繁重的工作。 expanduser('~')
扩展当前用户的主目录,`expanduser(' ~otheruser')获取其他目录。把它们放在一起你可以做到
path = os.path.join(os.path.expanduser('~'), "st.txt")
答案 1 :(得分:0)
根目录名为/
。把它放在开头:
path = os.path.join("/", "Users", "toddb", "st.txt")