zoukankan      html  css  js  c++  java
  • python 替换字符,替换字符串方法,将文件名中的中文字符替换为英文

    replace方法

    将指定子串都替换为另一个字符串,并返回替换后的结果。

     translate方法

    方法translate与replace一样替换字符串的特定部分,但不同的是它只能进行单字符替换。这个方法的优势在于能够同时替换多个字符,因此效率比replace高。这个方法的用途很多(如替换换行符或其他随平台而异的特殊字符),但这里只介绍一个比较简单(也有点傻)的示例。假设你要将一段英语文本转换为带有德国口音的版本,为此必须将字符c和s分别替换为k和z。然而,使用translate前必须创建一个转换表。这个转换表指出了不同Unicode码点之间的转换关系。要创建转换表,可对字符串类型str调用方法maketrans,这个方法接受两个参数:两个长度相同的字符串,它们指定要将第一个字符串中的每个字符都替换为第二个字符串中的相应字符。就这个简单的示例而言,代码类似于下面这样:

     

    使用translate方法,对文件名中的中文字符替换成自定义的字符,将甲-->a,乙-->b,丙-->c,丁-->d,正-->a

     1 def replace_filename(dir_path):
     2     """
     3     将文件夹下,文件中文名字替换为英文,甲乙丙丁正->abcda
     4     :param dir_path:
     5     :return:
     6     """
     7     files = os.listdir(dir_path)
     8     table = str.maketrans('甲乙丙丁正','abcda') # 转换表,单个字符的替换
     9 
    10     # print(files) files包含文件,文件夹
    11     for file in files:
    12         if os.path.isdir(file):
    13             continue
    14         oldname =os.path.join(dir_path,file)
    15         new_file = file.translate(table)
    16         newname = os.path.join(dir_path,new_file)
    17         os.rename(oldname,newname) # 有移动重命名功能

     参考书籍:

    python 基础教程

  • 相关阅读:
    codeforces 455C 并查集
    poj 3501 Escape from Enemy Territory 预处理+二分+bfs
    POJ 2110 Mountain Walking 二分+bfs
    poj1637 Sightseeing tour 混合图欧拉回路判定
    ubuntu禁用super(win)键
    win10 ubuntu双系统安装后无法引导进入ubuntu
    python2限制函数传入的关键字参数
    python限制函数执行时间
    python classmethod 和 staticmethod的区别
    centos sendmail 启动慢
  • 原文地址:https://www.cnblogs.com/shuangcao/p/13780825.html
Copyright © 2011-2022 走看看