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