python好用文件操作

Posted Mike丶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python好用文件操作相关的知识,希望对你有一定的参考价值。

背景:

继前博客浅谈代码自动构建工具,目标是用python操作文件,进行读写。

之前没写过python代码,也是第一次撸python,遇到了不少坑,废话不多说,首先放上最好用的干货。

 

干货:

例如有个文件test.js,现在需要

  1. 在它的第3,5行的下一行插入"我是你爸爸"。
  2. 在它的"GameType = MaJiang20180418"该行的下一行加上"我是你爷爷"(以最后一个为目的找到位置。

      

build.bat

@echo off
python test.py 
pause 
build.bat

test.js

 1 var a = 1
 2 var b = 2
 3 var c = 3
 4 var GameType = "MaJiang20180418"
 5 var d = 4
 6 var e = 5
 7 var GameType = "MaJiang20180418"
 8 var Gametype = "DouDiZhu20180418"
 9 var f = 8
10 var GameType = "MaJiang20180418" 
11 var a = 1
12 var b = 2
13 var c = 3
test.js

test.py

 1 import os, re
 2 list = []
 3 hang = 0
 4 findword = r\'^(var GameType = "MaJiang20180418")\'
 5 findInsert = \'我是你爷爷\\n\'
 6 wordInsert = \'我是你爸爸\\n\'
 7 with open("test.js", "r", encoding = "utf-8") as f:
 8     lines = f.readlines()
 9 with open("test.js", "w", encoding = "utf-8") as f_w:
10     for k, v in enumerate(lines):
11         if(bool(re.search(findword, v))):
12             list.append(k+1)
13     if list:
14         print(list)
15         print("插入行:", list[-1])
16         lines.insert(list[-1], findInsert)
17     list = []
18     lines.insert(3, wordInsert)
19     lines.insert(5, wordInsert)
20     f_w.write("".join(lines))

运行完test.bat后的结果:

至此,达到了预期效果~

 

以上是关于python好用文件操作的主要内容,如果未能解决你的问题,请参考以下文章

VS Code配置markdown代码片段

VS Code配置markdown代码片段

python常用代码片段总结

我在哪里更改此 Python 代码片段以将临时文件保存在 tmp 文件夹中?

python中的while循环与for循环怎么样那个比较好用?

学习笔记:python3,代码片段(2017)