最近业务比较清闲,把最开始接触的python又复习了一遍(跟新学也没区别了),特地总结一下python中简单的IO操作。
open(filename, mode)
filename: 文件路径;
mode:文件打开方式。主要就是r:只读,w:写入,a:追加。默认为r。
def openFile():
with open(path + "\\" + fileName, "r") as file:
str = file.read()
return str
引用菜鸟教程的一句话:当处理一个文件对象时, 使用 with 关键字是非常好的方式。在结束后, 它会帮你正确的关闭文件。 而且写起来也比 try - finally 语句块要简短
def writeNewFile(content):
with open(path + "\\new_" + fileName, 'w') as file:
file.write(content)
return file
这里实现了将匹配到的值转换成小写
需要注意的是,re.sub方法返回的是替换后的新内容,不改变原来的内容
def change2lowerCase(match):
value = match.group()
return str(value).lower()
contentNew = re.sub(r'(.[A-Z])', change2lowerCase, content)
完整代码如下:
import re
path = "D:\\project\self-project\lyrics"
fileName = "man in the mirror.txt"
def openFile():
with open(path + "\\" + fileName, "r") as file:
str = file.read()
return str
def writeNewFile(content):
with open(path + "\\new_" + fileName, 'w') as file:
file.write(content)
return file
def change2lowerCase(match):
value = match.group()
return str(value).lower()
if __name__ == '__main__':
content = openFile()
contentNew = re.sub(r'(.[A-Z])', change2lowerCase, content)
# 不改变原有的内容
# print(content)
writeNewFile(contentNew)
效果图: