【发布时间】:2020-04-12 08:17:28
【问题描述】:
我尝试使用os.path.abspath(file) 和Path.absolute(file) 来获取我正在处理的.png 文件的路径,这些文件位于与代码所在的项目文件夹不同的驱动器上。结果来自以下脚本的是“代码/文件名.png的项目文件夹”,而显然我需要的是.png所在文件夹的路径;
for root, dirs, files in os.walk(newpath):
for file in files:
if not file.startswith("."):
if file.endswith(".png"):
number, scansize, letter = file.split("-")
filepath = os.path.abspath(file)
# replace weird backslash effects
correctedpath = filepath.replace(os.sep, "/")
newentry = [number, file, correctedpath]
textures.append(newentry)
我在这里阅读了其他答案,这些答案似乎表明代码的项目文件不能与正在处理的文件夹位于同一目录中。但这里不是这样。有人可以指出我没有得到什么吗?我需要绝对路径,因为程序的目的是将文件的路径写入文本文件。
【问题讨论】:
-
不清楚您要达到的目标。在您的示例
Project Folder/filename.png中,您想要Project Folder还是/the/full/path/to/Project Folder/? -
不,它给了我代码的项目文件夹-就像代码所在的位置一样。 png 位于单独的驱动器中。所以它的返回是人为的——好像 png 和代码在同一个文件夹中,但它们不是。我只想要每个 png 的真实路径。
标签: python filepath os.path pathlib