Ⅰ python读取文本文件,如何将每行最后一个特定字符替换
方法:
解释,s.count('/')计算原来有多少个特定字符串,然后第一步全部替换,第二步将count-1个还原
Ⅱ 如何用Python来进行查询和替换一个文本字符串
1、说明
可以使用find或者index来查询字符串,可以使用replace函数来替换字符串。
2、示例
1)查询
>>> 'abcdefg'.find('cde')
结果为2
'abcdefg'.find('acde')
结果为-1
'abcdefg'.index('cde')
结果为2
2)替换
'abcdefg'.replace('abc','cde')
结果为'cdedefg'
3、函数说明
1)find(...)
S.find(sub[, start[, end]]) -> int
返回S中找到substring sub的最低索引,使得sub包含在S [start:end]中。 可选的 参数start和end解释为切片表示法。
失败时返回-1。
2)index(...)
S.index(sub[, start[, end]]) -> int
与find函数类似,但是当未找到子字符串时引发ValueError。
3)replace(...)
S.replace(old, new[, count]) -> str
返回S的所有出现的子串的副本旧换新。 如果可选参数计数为给定,只有第一个计数出现被替换。
Ⅲ Python批量修改文本文件内容的方法
Python批量修改文本文件内容的方法
Python批量替换文件内容,支持嵌套文件夹
import os
path="./"
for root,dirs,files in os.walk(path):
for name in files:
#print name
if name.endswith(".html"):
#print root,dirs,name
filename=root+"/"+name
f=open(filename,"r")
filecontent=""
line=f.readline()
while line:
l=line.replace(":/arcgis_js_api","/arcgisapi")
filecontent=filecontent+l
line=f.readline()
f.close()
f=file(filename,"w")
f.writelines(filecontent)
f.close()
关于本文给大家介绍的Python批量修改文本文件内容的方法
Ⅳ python3 正则表达式如何实现中文模糊匹配替换并输出
要使用正则表达式实现中文模型李糊匹配替换并输出,你可以使用 Python 的 re 模块。以下是一个示例代码,读取一个名为 input.txt 的文件,将其中的 "竹某婵" 或 "竹婵某" 替换为 "竹婵婵",然后将结果保存到一个名为 output.txt 的新文件中:
import re
# 定义一个函数来实现替换操作
def replace_pattern(match_obj):
return "竹婵婵"
# 读取文件内容
with open("input.txt", "r", encoding="utf-8") as file:
content = file.read()
# 使用正则表达式进行模糊匹配替换
pattern = r"竹(?:某|婵)(?:婵|某)"
replaced_content = re.sub(pattern, replace_pattern, content)
# 将替换后的内容写入新的文件
with open("output.txt", "w", encoding="utf-8") as file:
file.write(replaced_content)
在这个例子中,正则表达式 r"竹(?:某|婵)(?:婵|某)" 用于匹配 "竹某婵" 或 "竹婵某"。(?:...) 是一个非捕获组,它表示匹配其中的任意一个字符,但不会捕获该组。这里的组分别包含 "某" 和 "婵",因此可以匹配 "竹某婵" 或 "竹婵某"。接下来,re.sub 函数用于替换匹配到的字符串。这里我们提供了一个替换函行缓数 replace_pattern,它直接返回 "竹婵婵"。最后,将替换后的内容写入一个名为 output.txt 的新文件。
…………
回复:
如果要实现匹配任意特定中文字符,可以使用 Unicode 的中文字符卜带迟范围。以下是修改后的示例代码,可以将 "竹某婵" 或 "竹婵某" 替换为 "竹婵婵",其中 "某" 为任意中文字符:
import re
# 定义一个函数来实现替换操作
def replace_pattern(match_obj):
return "竹婵婵"
# 读取文件内容
with open("input.txt", "r", encoding="utf-8") as file:
content = file.read()
# 使用正则表达式进行模糊匹配替换
pattern = r"竹[u4e00-u9fa5]婵|竹婵[u4e00-u9fa5]"
replaced_content = re.sub(pattern, replace_pattern, content)
# 将替换后的内容写入新的文件
with open("output.txt", "w", encoding="utf-8") as file:
file.write(replaced_content)
在这个例子中,正则表达式 r"竹[u4e00-u9fa5]婵|竹婵[u4e00-u9fa5]" 用于匹配 "竹某婵" 或 "竹婵某",其中 "某" 为任意中文字符。[u4e00-u9fa5] 用于匹配任意一个中文字符。接下来,re.sub 函数用于替换匹配到的字符串。这里我们提供了一个替换函数 replace_pattern,它直接返回 "竹婵婵"。最后,将替换后的内容写入一个名为 output.txt 的新文件。
Ⅳ python编写一个自动替换word文档文字程序
编者的话(可以跳过):
在政府单位实习了一段时间,发现有很多资料需要制作,而且繁琐重复,第一时间就想到了python,因为在办公自动化这方面我只知道python,本着能偷懒就偷懒的原则,通过查阅资料整出一个小脚本然后用tkinter的ui组件写了一个界面方便除我之外的人使用,此软件涉及内部文件就不发布了。截图如下:
需求如下:
当你有一大堆的word文档,然后这些word文档都有其固定格式,也许是一个表格,也许就是只有文字的普通文档,这些固定模式的文档我称之为模板。如果有10份模板,这些模板的填写内容大致相同,比如说文件的编号,年份,一些公司名称等。然后基本上就是机械的找位子复制改改格式循环往复然后时间就过去了,做了一堆无意义的事情。
所以核心功能:需要把自己想要填写的内容填写到模板的指定位置。
2、实现方式
2.1使用python-docx
有兴趣的可以深入学习一下python-docx,这里仅仅是实现需求。python-docx只能处理docx所以doc需要转为docx具体方法可以自行网络。
这个替换程序是可以替换word文档内表格和非表格的内容且不会修改原模板的任何格式,填写好上面所给函数的参数然后在ide里运行一下,前提是事先在文档中要填写的位置写好要替换的内容,也就是old_text,如下所示:
Ⅵ Python 替换文本内容
你是把
str.replace(p1, p2)
当成本地执行的了。
即针对变量本身操作的了。
我所知道的,除了有限的几个,比如list的reverse等,是直接针对变量本身操作的。
其他的,都是只是执行对应动作而已。
包括你这里的replace,所以需要把替换后的结果,返回到某个变量中,然后再打印出来,就可以看到变化了。
顺带说一句,如果针对处理html的内容的话,倒是建议你用第三方库函数。
原因见:
【整理】关于用正则表达式处理html代码方面的建议
(这里不给贴地址,所以请自己用google搜标题,即可找到帖子地址)
=======================
评论里面没法发表,写在这里给你看:
看来,你本身对于回车和换行的概念,就不是很清楚,所以建议你去看我总结的:
【详解】回车 换行 0x0D 0x0A CR LF r n的来龙去脉
如果想换成回车换行,那么就是类似于这样的写法:
replacedStr = str.replace("<br>", "\r\n");
同理:(这里不给贴地址,所以请自己用google搜标题,即可找到帖子地址)
Ⅶ python 查找替换文本
a_lines=open('a.txt')#192.168.1.0usage90%
a_=a_lines.readlines()
b_lines=open('b.txt')#192.168.1.0LAN-User,192.168.2.0Wireless-User
b_=b_lines.readlines()
c_lines=open('c.txt','wb')
foriinb_:
tmp=i.strip().split()[0]#得到192.168.1.0
forjina_:
tmp1=j.strip().split()
iftmp==tmp1[0]:
tmp2=i.strip()+j.strip().replace(tmp1[0],'')+' '
c_lines.write(tmp2)
a_lines.close()
b_lines.close()
c_lines.close()
Ⅷ word文字替换批处理之python
媳妇有无数word文档要替换,网络后发现没有现成的方法。
google后没有太合适的。抄抄写写弄个python脚本换目录下所有word内容,共勉之。
import os
from docx import Document
# 放了一些docx 文件
files_dict ={
"/home/test/a/医疗器械临床试验第一版-设计/": "/home/test/a/医疗器械临床试验第一版-设计/",
"/home/test/a/医疗器械临床试验第一版-管理制度/": "/home/test/a/医疗器械临床试验第一版-管理制度/",
"/home/test/a/医疗器械临床试验第一版-SOP/": "/home/test/a/医疗器械临床试验第一版-SOP/",
"/home/test/a/目录/": "/home/test/a/目录/"
}
replace_dict = {
"XXGNK":"XZDXGWK",
"心血管专业": "心脏大血管外科",
"心血管":"心脏大血管外科",
}
def check_and_change(document, replace_dict):
"""
遍历word中的所有 paragraphs,在每一段中发现含有key 的内容,就替换为 value 。
(key 和 value 都是replace_dict中的键值对。)
"""
for para in document.paragraphs:
for i in range(len(para.runs)):
for key, value in replace_dict.items():
if key in para.runs[i].text:
print(key+"-->"+value)
para.runs[i].text = para.runs[i].text.replace(key, value)
for table in document.tables:
for row in table.rows:
for cell in row.cells:
for para in cell.paragraphs:
for i in range(len(para.runs)):
for key, value in replace_dict.items():
if key in para.runs[i].text:
print(key+"-->"+value)
para.runs[i].text = para.runs[i].text.replace(key, value)
return document
def main():
for old_file_path, new_file_path in files_dict.items():
for name in os.listdir(old_file_path):
print(name)
old_file = old_file_path + name
new_file = new_file_path + name
if old_file.split(".")[1] == 'docx':
document = Document(old_file)
document = check_and_change(document, replace_dict)
document.save(new_file)
print("^"*30)
if __name__ == '__main__':
main()
Ⅸ python文本内容替换
这样编写:
fa=open("A.txt","r")
ta=fa.readlines()
fb=open("B.txt","r")
tb=fb.readlines()
tb[2:-9]=ta
fa.close()
fb.close()
fb=open("B.txt","w")
fb.writelines(tb)
fb.close()