如果我有一个像这样的结构:为什么os.path.abspath()返回cwd +文件的路径?
root/
-- group1/
---- names/
---- places/
------ foo.zip
这是为什么,当我打电话os.path.abspath('foo.zip')
我得到的Python脚本位于加foo.zip
所在的文件路径?
的样子:H:\Program\Scripts\foo.zip
需求为:H:\Progran\Groups\group1\names\places\foo.zip
这是代码我有一个功能,其中问题产生:
def unzip(in_dir):
# in_dir is places passed to unzip()
files = [f for f in os.listdir(os.path.abspath(in_dir)) if f.endswith('.zip')]
for zip in files:
# This prints the 'looks like' path above
print os.path.abspath(zip)
不应该print os.path.abspath(zip)
给我在os.listdir(os.path.abspath(in_dir))
中找到的每个文件的完整路径?
怎么是'ABSPATH()'应该知道,你从列出目录中的文件名?它所得到的就是字符串,它不知道它来自哪里。 – Barmar
'abspath'采用相对于当前目录的路径。 – user2357112
'abspath'不以任何方式触及文件系统。它只需要程序的当前工作目录并从那里添加路径组件。任何文件或目录在执行任务时都不需要存在。这会使创建新文件变得非常困难。 – tdelaney