python 模式匹配_Python用模式匹配目录(正则表达式)

我写了一个循环,忽略其中包含.txt文件的所有子目录。在src = raw_input("Enter source disk location: ")

src = os.path.abspath(src)

dst = raw_input("Enter first destination to copy: ")

dst = os.path.abspath(dst)

dest = raw_input("Enter second destination to move : ")

dest = os.path.abspath(dest)

path_patter = '(\S+)_(\d+)_(\d+)_(\d+)__(\d+)_(\d+)_(\d+)'

for dir, dirs, files in os.walk(src):

if any(f.endswith('.txt') for f in files):

dirs[:] = [] # do not recurse into subdirectories

continue

files = [os.path.join(dir, f) for f in files ]

for f in files:

part1 = os.path.dirname(f)

part2 = os.path.dirname(os.path.dirname(part1))

part3 = os.path.split(part1)[1]

path_miss1 = os.path.join(dst, "missing_txt")

path_miss = os.path.join(path_miss1, part3)

path_missing = os.path.join(dest, "missing_txt")

searchFileName = re.search(path_patter, part3)#### update

if searchFileName:#####update

try:

if not os.path.exists(path_miss):

os.makedirs(path_miss)

else:

pass

if os.path.exists(path_miss):

distutils.dir_util.copy_tree(part1, path_miss)

else:

debug_status += "missing_file\n"

pass

if (get_size(path_miss)) == 0:

os.rmdir(path_miss)

else:

pass

if not os.path.exists(path_missing):

os.makedirs(path_missing)

else:

pass

if os.path.exists(path_missing):

shutil.move(part1, path_missing)

else:

pass

if (get_size(path_missing)) == 0:

os.rmdir(path_missing)

else:

pass

except Exception:

pass

else:

continue

在这种情况下,如何修改此代码以比较目录名和正则表达式。(它必须忽略带有.txt文件的目录)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值