Python:总结编程的一些小技巧(二)

阅读: 评论:0

Python:总结编程的一些小技巧(二)

Python:总结编程的一些小技巧(二)

Python:总结编程的一些小技巧(二)

  • 1. 统计字符串中汉字和汉字标点符号的个数
  • 2. 输出文件夹下的文件总数和各个文件名
  • 3. os.rmdir与os.removedirs的区别
  • 4. 给定路径,删除路径下,大小为0的文件或文件夹


1. 统计字符串中汉字和汉字标点符号的个数

# 无需安装其它库punctuation = '"#$%&'()*+,-/:;<=>@[\]^_`{|}~⦅⦆「」、 、〃〈〉《》「」『』【】〔〕〖〗〘〙〚〛〜〝〞〟〰〾〿–—‘’‛“”„‟…‧﹏﹑﹔·!?。。'def chinese_length(s):n = 0for c in s:if 'u4e00' <= c <= 'u9fa5':  # 中文字符n = n + 1if c in punctuation:n = n + 1return nif __name__ == '__main__':s1 = '123你好,世界。abc'print(chinese_length(s1))

import re
import zhon.hanzidef chinese_length(s):f1 = re.findall('[u4e00-u9fa5]', s)  # 匹配中文f2 = re.findall('[{}]'.format(zhon.hanzi.punctuation), s)  # 匹配中文标点符号return len(f1) + len(f2)if __name__ == '__main__':s1 = '123你好,世界。abc'print(chinese_length(s1))

2. 输出文件夹下的文件总数和各个文件名

import ospath = 'E://下载'
dir1 = os.listdir(path)
print(len(dir1), dir1)

3. os.rmdir与os.removedirs的区别

说明:
  现E盘有多个文件夹,其中有一个文件夹a。文件夹a下只有一个文件夹,即文件夹b。文件夹b也只有一个文件夹,即文件夹c。文件夹c下无任何文件或文件夹

import os
path = 'E://a//b//c'
os.rmdir(path)

注意:
  若执行如上代码,一定要确保文件夹c下无任何文件或文件夹。执行后会删除文件夹c。若文件夹c下有任何文件或文件夹,程序会报错。

import os
path = 'E://a//b//c'
# os.rmdir(path)
os.removedirs(path)

注意:
  若执行如上代码,一定要确保文件夹a下只含有文件夹b,文件夹b下只含有文件夹c,文件夹c下无任何文件或文件夹。执行后会删除文件夹c,文件夹b,文件夹a
  其作用相当于:
  1. 先用rmdir删除文件夹c,此时文件夹b下无任何文件或文件夹。
  2. 再用rmdir删除文件夹b,此时文件夹a下无任何文件或文件夹。
  3. 最后用rmdir删除文件夹a,此时E盘下还含有其它文件或文件夹,不可再删除。
  若文件夹c下有任何文件或文件夹,则程序报错。若文件夹b下有除文件夹c以外的文件或文件夹,则程序只会删除文件夹c。同理,若文件夹a包含除文件夹b以外的文件或文件夹,程序只会删除文件夹c和文件夹b。故removedirs相当于在路径上从右往左(E://a//b//c -> E://a//b -> E://a -> E:)调用rmdir

4. 给定路径,删除路径下,大小为0的文件或文件夹

import osdef delete_file_dir(p):ds = os.listdir(p)  # p目录下所有文件和文件目录for d in ds:f = p + '//' + d  # 文件路径if size(f) == 0 and os.path.isfile(f):  # 空文件os.remove(f)if os.path.isdir(f):  # 文件夹delete_file_dir(f)  # 递归删除文件夹中空文件和空文件夹if len(os.listdir(f)) == 0:  # 递归删除后,若文件夹变成空文件夹,则删除os.rmdir(f)if __name__ == '__main__':path = 'E://a7'delete_file_dir(path)

本文发布于:2024-01-28 22:21:49,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170645171410697.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:小技巧   Python
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23