操作系统 - 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
答案 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
就是你的功能。