Python中按指定长度分割字符串并反转
生活随笔
收集整理的這篇文章主要介紹了
Python中按指定长度分割字符串并反转
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
需求
文件名為tel.txt,內(nèi)容格式每行都是一行不超過(guò)16位的數(shù)字,實(shí)現(xiàn)要求就是如果不超過(guò)16位的就以F補(bǔ)充到末尾湊齊16位,然后每行以2位分割并反轉(zhuǎn)。比如188123456789723 反轉(zhuǎn)后要求是 81183254769827F3 。就是這樣子
實(shí)現(xiàn)邏輯
1、讀取tel.txt文件內(nèi)容,保存到文件列表。文件內(nèi)容如下:
2、每行字符串不超過(guò)16位的,以F填充。
3、數(shù)字以2位分割,2位反轉(zhuǎn)后再全部拼接。(關(guān)鍵步驟,寫(xiě)成函數(shù),以后可以復(fù)用)
4、保存到新文件。
代碼如下:
# -*- coding: utf-8 -*-""" 遇到問(wèn)題沒(méi)人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:778463939 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書(shū)! """import redef split_str(string,length):"""按照指定長(zhǎng)度分割輸入字符串,并以列表形式返回:param string: 待分割字符串:param length: 指定分割長(zhǎng)度:return: 分割后的字符串列表"""str_lst = re.findall(r'.{'+str(length)+ '}',string)str_lst.append(string[(len(str_lst) * length):])return str_lstdef reverse_lst(string_lst):"""將列表中的字符串反轉(zhuǎn):param string_lst: 字符串列表:return: 反轉(zhuǎn)后的字符串列表"""reverse_str_lst = []for each in string_lst:reverse_str_lst.append(each[::-1])return reverse_str_lstif __name__ == '__main__':"""主程序"""# 指定分割長(zhǎng)度SPLIT_LEN = 2# 指定要求字符串字符串長(zhǎng)度,長(zhǎng)度不足要求以F末尾填充FIX_STRLEN = 16# 獲取文件內(nèi)容,以列表形式保存。文件內(nèi)容格式為每行為188123456789723格式字符串fr = open('tel.txt', 'r')record_lst = fr.readlines()fr.close()reverse_record = ''reverse_record_lst = []for each_line in record_lst:each_line = each_line.strip()len_telno = len(each_line)if len_telno < FIX_STRLEN:each_line = each_line + (FIX_STRLEN - len_telno) * 'F'reverse_record = ''.join(reverse_lst(split_str(each_line, SPLIT_LEN)))reverse_record_lst.append(reverse_record + '\n')fw = open('reverse_record.txt', 'w')fw.writelines(reverse_record_lst)fw.close()print("End Script!")總結(jié)
以上是生活随笔為你收集整理的Python中按指定长度分割字符串并反转的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python四种数值交换方法
- 下一篇: Python 中函数的 收集参数 机制