Python向上移动一个目录以检查文件是否存在

时间:2015-10-12 19:12:18

标签: python

我有一个创建文件的脚本,但我想查看该文件是否存在,以便将其移动到其他目录。我得到的问题是它在一个目录级别看起来太高了。

  

ex fileIn = a / b / c / d它在d中查找,而不是c

    print directory + "   go up one!!!"
    os.path.dirname(os.path.dirname(directory)) # this specific line does nothing
    if f.endswith("_edited.xml"):
        print "true"
    else:
        print "false"
        #shutil.copy2(f, aEdit)

3 个答案:

答案 0 :(得分:5)

如果您使用os.getcwd(),则可以查看您当前正在使用的目录。

您想使用os.chdir(PATH)更改目录。

更改目录的方法是使用..

>>> print(os.getcwd())
C:\Python34
>>> os.chdir('..')
>>> print(os.getcwd())
C:\

答案 1 :(得分:2)

您可以使用os.path.isfile检查文件是否存在。如果是这样,请继续升级目录结构,直到找到根目录,然后引发错误。一旦文件不存在于目录中,请将其复制到那里。

最后,将目录重置回其初始状态。

import os

cd = os.getcwd()
while os.path.isfile(filename):
    os.chdir('..')  # go one level up.
    if len(os.getcwd) == 1:
        raise ValueError('Root recursion reached.')

# Save file.
shutil.copy2(filename, os.getcwd())

# Reset directory.
os.chdir(cd)

答案 2 :(得分:1)

os.path.dirname(os.path.dirname(directory)) # this specific line does nothing

该行似乎“无所事事”,因为您没有将结果存储在任何地方。我不确定你的代码应该做什么(我没有很好地理解你的问题),所以我无法建议解决方案,但我想这是你的问题。