如何解决为什么Abspath从同一目录返回不一致的文件路径?
我正在使用os.walk()遍历文件夹并获取某些文档的标准路径以进行处理。
def folderLoop():
for path,dirs,files in os.walk(inFolder):
for filename in files:
if fnmatch.fnmatch(filename,'*.mxd'):
#mxdFilePath = os.path.abspath(os.path.join(path,filename))
mxdFilePath1 = os.path.normpath(os.path.join(path,filename))
mxdFilePath = os.path.join(os.getcwd(),mxdFilePath1)
print("\tRe-source: " + mxdFilePath)
#mxd = arcpy.mapping.MapDocument(r'{}'.format(mxdFilePath))
### Process File ###
我读了this post,您可以看到我尝试了不止一种方法来获取正确的路径,但是由于某种原因,我尚未发现,结果路径似乎会根据是否改变而改变最后一行是否带有注释。
如果运行代码时注释掉了mxd分配,如上所示,则所有打印的文件路径看起来都是正确的:
Re-source: C:\Users\CoryDavis\desktop\test_data\IL\Bond_IL\bond_il.mxd
Re-source: C:\Users\CoryDavis\desktop\test_data\IL\Bond_IL\bond_il_cmp.mxd
Re-source: C:\Users\CoryDavis\desktop\test_data\IL\Bond_IL\bond_il_detailed_outline.mxd
...
但是,如果取消注释,这就是我看到的内容:
Re-source: C:\Users\CoryDavis\desktop\test_data\IL\Bond_IL\bond_il.mxd
Re-source: C:\Users\CoryDavis\desktop\test_data\IL\Bond_IL\test_data\IL\Bond_IL\bond_il_cmp.mxd
然后,分配失败,因为第二个文件的路径不正确。为什么第二条路径重复相对路径?如果取消注释赋值语句,为什么打印的字符串会更改?为什么第一个文件路径不受影响?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。