Python 官网:https://www.python.org/
自学并不是什么神秘的东西,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。
—— 华罗庚
这是一段由聊天引出的代码应用——
由聊天中齐老师的一段引文,让我搜索学习了缠绵凄美的《长恨歌》,动了CV其文本的心思。
一字一行,期间还间杂一些注释索引的数字。手动整理?这文本可不短!还是让让代码出手吧——
不就是一个字符串基础的应用嘛。“数据特征分析,利用特征选用适宜方法代码,整理数据,得想要的结果。”去除回车符和数字字符,按每句诗一行打印就好。
上码——
代码
title = '长恨歌_网cv'
filename = f'/sdcard/Documents/{title}.txt'
with open(filename) as f:
s = f.read().split('。') # 用“。”分割长恨歌文本。
s = map(lambda x: x.replace('\n', ''), s) # 去除回车符。
print(*s)
input()
诗句注释的索引数字还没去除哩!加代码——用个函数循环,遍历去除数字和回车符。
代码
def mydel(s):
''' 去除回车符和数字 '''
temp = []
for i in s:
if i not in '01234567890\n':
temp.append(i) # 收集非数字和回车符的字符。
return ''.join(temp)
with open(filename) as f:
s = f.read().split('。') # 用“。”分割长恨歌文本。
s = map(mydel, s) # 去除回车符。
print(*s)
成功得到了想要的诗文字符串列表,只要写入文本文件,就“大功告成”。
代码
# 写入文本
title = '《长恨歌》'
filename = f'/sdcard/Documents/{title}.txt'
with open(filename, 'w') as f:
f.write('。\n'.join(map(mydel, s))) # 将用。和换行符拼接的文本写入文本文件。
成了!只需在文本首行敲几个回车就好。
到此,问题解决,看似完结。其实,前面的代码只是“信手拈来”不够严谨,更可以优化改写。遍历每句诗去除回车和数字,是不是太复杂?
把整个文件读取的字符串中,要去除的仅是数字和回车符。数字仅是0~9的字符组成,所以仅需遍历10个数字,分别替换成’'空字符就好。
优化改写后的代码
#!/sur/bin/nve python
# coding: utf-8
title = '长恨歌_网cv'
filename = f'/sdcard/Documents/{title}.txt'
with open(filename) as f:
s = f.read() # 读取CV诗文文本。
for i in '0123456789': # 遍历去除数字。
s = s.replace(i, '')
# 写入文本
title = '《长恨歌》'
filename = f'/sdcard/Documents/{title}.txt'
with open(filename, 'w') as f:
poems = s.replace('\n', '').split("。") # 去除回车符并分割诗句。
f.write('。\n'.join(poems)) # 用。和回车符拼接诗句列表并写入文件。
来源:老齐教室
全栈领域优质创作者——寒佬(还是国内某高校学生)好文:《非技术文—关于英语和如何正确的提问》,“英语”和“会提问”是学习的两大利器。
【8大编程语言的适用领域】先别着急选语言学编程,先看它们能干嘛
靠谱程序员的好习惯