如何在目录中找到一些文件

时间:2014-01-18 16:28:05

标签: python

操作系统 - Windows 7

档案位置 - C:\ Div1 \ Div2 \ NEWS.txt

我想在系统中搜索这个文件,意味着任何应该返回上述路径的函数(完全如上所述)作为参数给出的文件名

来自IDLE的

>>> os.path.dirname(os.path.realpath("NEWS.txt"))
'C:\\Python33'
>>> os.path.abspath("NEWS.txt")
'C:\\Python33\\NEWS.txt'
>>> os.path.isdir('Div1')
False

来自命令行

>>> os.path.dirname(os.path.realpath("NEWS.txt"))
'C:\\Users\\Username'
>>> os.path.abspath("NEWS.txt")    
'C:\\Users\\Username\\NEWS.txt'
>>> os.path.isdir('Div1')
False

2 个答案:

答案 0 :(得分:1)

import os
os.chdir(r'C:\Div1\Div2')
path=os.path.abspath('NEWS.txt')
print path

答案 1 :(得分:0)

您解释的行为来自不同的工作目录。 os.path.abspath计算相对路径的绝对值,相对路径为NEWS.txt。这被认为是当前工作目录中的文件,因此被“附加”到它。在IDLE中,这是Python可执行文件的目录,在命令行中是启动解释器的目录,它恰好是新命令行中的主目录。

你想用os.path.isdir做什么?它只是检查目录是否存在,而不是您是否在该目录或类似的东西。

如果你想搜索文件,os.walk就是你的功能。