如何使用python访问父目录中的文件?

时间:2017-11-15 06:53:04

标签: python python-2.7 python-os

我正在尝试访问父目录中的文本文件

例如:python脚本位于 codeSrc &文本文件位于 mainFolder

脚本路径:

G:\mainFolder\codeSrc\fun.py

所需的文件路径:

G:\mainFolder\foo.txt

我目前正在使用python 2.7x的这种语法,

import os 
filename = os.path.dirname(os.getcwd())+"\\foo.txt"

虽然这种方法很好,但是有更好的(更漂亮的P)方法吗?

4 个答案:

答案 0 :(得分:3)

虽然你的例子有效,但它可能不是最好的,也许不是我的。无论如何,os.path.dirname()可能意味着最后一部分已经是文件名的字符串。它使用os.path.split(),如果路径以斜杠结尾,则提供空字符串。所以这可能会出错。此外,由于您已经在使用os.path,我还会使用它来加入路径,然后这些路径甚至可以与平台无关。我写了

os.path.join( os.getcwd(), '..', 'foo.txt' )

...关于代码的可读性,这里(如在使用environ模块的帖子中)很明显,你可以升级到一级。

答案 1 :(得分:1)

你可以试试这个

   /**
     * Append data to any pre-existing files; close after each append.
     */
    APPEND,

    /**
     * Append data to any pre-existing files; do not flush/close after
     * appending.
     * @since 4.3
     */
    APPEND_NO_FLUSH,

    /**
     * Raise an exception in case the file to be written already exists.
     */
    FAIL,

    /**
     * If the file already exists, do nothing.
     */
    IGNORE,

    /**
     * If the file already exists, replace it.
     */
    REPLACE;

答案 2 :(得分:1)

要获取父目录,以下代码将为您提供帮助:

import os
os.path.abspath(os.path.join('..', os.getcwd()))

答案 3 :(得分:0)

要获取当前脚本的父目录中的文件路径,您可以执行以下操作:

import os
file_path = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'foo.txt')