python判断文件是否存在os.path.exists(path),枚举文件夹下面的所有文件 items = os.listdir(path), WindowsError: [Error 3]

关于python判断文件是否存在os.path.exists(path),枚举文件夹下面的所有文件 items = os.listdir(path)。
上周,网上搜索copy来的命令不通,挫气,今天又仔细看了一下,原来是一个小的报错。上周还担心是不是跟版本,python2.7.14, pycharm2019.3有关系,其实没关系,python2.7.14和python3之间的区别没那么大。大部分code还是可以用的。少部分微调可以share.
(1)代码如下,中间出了好几次故障。第一次报错,出现了WindowsError: [Error 3] :, 后来用了真实路径,替换原来的“’./tmp/.’,这个错误就消失了。可见由于博主举例路径产生的Error3 真的太常见,读者要用自己的路径。
(2)第二次报错,
if os.path.exists(path)
^
SyntaxError: invalid syntax
上周忙着也来不及仔细想,以为是python版本的问题,今天仔细观察,大多都有冒号,是否缺少冒号呢?一试,果然,是typo和对语法不熟悉引起的。加冒号就解决问题了,列举了一大堆目录,开始觉得怎么这么多,后来一看,真的是这么多文件。
(3)
还有些看不懂的文件 就先不管了。下次再看。
‘7c503~ue.py’
\xe5\x89\xaf\xe6\x9c\xac (2).py
\xe5\x89\xaf\xe6\x9c\xac (3)
'\xe6\x96\xb0\xe5\xbb\xba\xe6\x96\x87\xe6\x9c\xac\xe6\x96\x87\xe6\xa1\xa3.txt


# -*- coding:utf-8 -*-
# -*- coding: gb18030 -*-   #whether utf-8 or bg18030 doesn't matter.
0405,20:07, it does not work. search, change to # -*- coding:utf-8 -*-. #still WindowsError: [Error 3] : './tmp/*.*'.
"""
import os
def compare(x, y):
    xparts = x.split('_')
    yparts = y.split('_')
    if len(xparts) > 1 and len(yparts) > 1:
        if xparts[1] == yparts[1]:
            try:
          return cmp(int(xparts[0]), int(yparts[0]))
            except:
                pass
            return cmp(xparts[0], yparts[0])
        else:
            return cmp(xparts[1], yparts[1])
    else:
        return cmp(x, y)
path = "D:\BUdocshare_data"
#note:You need to change to your real path, Ortherwise there is "WindowsError: [Error 3]".
if os.path.exists(path):
    items = os.listdir(path)
else:
    print("path not exist")

# items = os.listdir('./tmp')
# 0405,error3, make dir as real one 
print items

items.sort(compare)

print items

(2)

源代码参考:
(1)
https://blog.csdn.net/lwgkzl/article/details/81058379
if os.path.exists(path):
items = os.listdir(path)
(2) 关于 ”WindowsError:[Error 3] “报错含义
原文链接:https://blog.csdn.net/lwgkzl/article/details/81058379
WindowsError:[Error 3] 没有这个路径

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值