Python文件路径名

3

在Python中,当用作文件路径时,"./file_name""../file_name""file_name"有什么区别?

例如,如果您想要将文件保存在file_path中,那么"../file_name"是否正确的保存了file_name于当前目录内?而"./file_name"则会将其保存到桌面上?这确实很令人困惑。

2个回答

3

./file_namefile_name意味着同样的事情 - 当前工作目录下名为file_name的文件。

../file_name指的是当前工作目录的父目录中名为file_name的文件。

总结

.代表当前目录,而..代表父目录。

举例说明

如果当前工作目录为this/that/folder,则:

  • .的结果为this/that/folder
  • ..的结果为this/that
  • ../..的结果为this
  • .././../other的结果为this/other

当前工作目录的父目录是什么意思? - Chaine
如果我的当前目录是桌面呢? - Chaine
1
通常情况下,您的当前工作目录是运行Python文件的目录。要在执行期间找出您的当前工作目录,请执行以下操作:import osprint(os.cwd()) - EyuelDK
我有另一个问题。'.'是什么意思?它在tf.train.write_graph()函数的log_dir参数中被使用。 - Chaine
你是指点运算符中的 . 还是文件路径中表示当前目录的 . - EyuelDK
显示剩余2条评论

1
基本上,./ 表示当前目录,而 ../ 表示当前目录的父目录。它们实际上是文件系统中的硬链接,即为了指定相对路径而需要的链接。
让我们考虑以下内容:
/root/
    directory_a
        directory_a_a
            file_name
        directory_a_b
        file_name
    directory_b
        directory_b_a
        directory_b_b

假设您当前的工作目录为/root/directory_a/directory_a_a。从这个目录中,如果您引用./file_name,则引用的是/root/directory_a/directory_a_a/file_name。另一方面,如果您引用../file_name,则引用的是/root/directory_a/file_name

最后,./../取决于您的当前工作目录。如果您想非常明确,请使用绝对路径。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接