Python 如何在目录中查找一些文件

Python 如何在目录中查找一些文件,python,Python,操作系统-Windows7 文件位置-C:\Div1\Div2\NEWS.txt 我想在系统中搜索这个文件,这意味着任何函数都应该为作为参数给定的文件名返回上面的路径(与上面完全相同) 从闲置 >>> os.path.dirname(os.path.realpath("NEWS.txt")) 'C:\\Python33' >>> os.path.abspath("NEWS.txt") 'C:\\Python33\\NEWS.txt' >>>

操作系统-Windows7

文件位置-C:\Div1\Div2\NEWS.txt

我想在系统中搜索这个文件,这意味着任何函数都应该为作为参数给定的文件名返回上面的路径(与上面完全相同)

从闲置

>>> 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

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

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


如果要搜索文件,请使用os.walk功能。

是否尝试在文件系统中搜索此文件?如果是,搜索的起点是什么?
import os
os.chdir(r'C:\Div1\Div2')
path=os.path.abspath('NEWS.txt')
print path