首页 新闻 赞助 找找看

Python3.6,为什么无法执行os.path.isdir()方法后的代码

0
[已解决问题] 解决于 2018-09-17 16:09

import os
def NewfileToOldfile(oldfile):
for file in os.listdir(oldfile):
filepath = os.path.abspath(file)
if os.path.isdir(filepath):
print(filepath)

NewfileToOldfile('C:\Program Files')

问题补充:

使用print打印了一下传入os.path.isdir()方法中的值,是文件夹没有错

李荣洋的主页 李荣洋 | 初学一级 | 园豆:190
提问于:2018-09-16 21:20

建议代码加上高亮

dudu 5年前

@dudu:才用博问,还没研究怎么设置格式,我是想遍历目录和子目录,使用os.path.isdir方法判断时,不会执行该方法的子模块

lirongyang 5年前

@lirongyang: 博问支持markdown代码高亮

dudu 5年前
< >
分享
最佳答案
1

https://blog.csdn.net/funnyPython/article/details/78733115, os.path.abspath取决于os.getcwd,如果是一个绝对路径,就返回,如果不是绝对路径,根据编码执行getcwd/getcwdu,然后把path和当前工作路径连接起来。所以当前os.path.abspath得到的结果并不是正确的路径,因此调用后面的方法也是错误的。

奖励园豆:5
随风行云 | 小虾三级 |园豆:936 | 2018-09-17 12:49

谢谢大神啦,今天自己研究了一下确实是这么回事。已经明白错在哪了

李荣洋 | 园豆:190 (初学一级) | 2018-09-17 16:11
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册