參考:
if pos != -1:
content = content[:pos] + content_add + content[pos:]
參考:findall
注意:返回的是匹配的字串,若沒有匹配,返回,而不是什麼也不返回
參考:
keys = ['a', 'b', 'c']
values = [1, 2, 3]
dictionary = dict(zip(keys, values))
print(dictionary)
input_file = open(r'd:\test_body.txt',"r").read();
for key,value in a_dict.items():
input_file=input_file.replace(key,value);
seek()方法:用它設定當前檔案讀/寫指標的偏移。
seek()方法的語法如下:fileobject.seek(offset[, whence])。offset引數指明偏移量,第二個引數指出第乙個引數偏移基準是**:
offset的取值可為:0,1,2; 0 表示移動到乙個絕對位置 (從檔案開始算起),1 表示移到乙個相對位置 (從當前位置算起), 2 表示對於檔案尾的乙個相對位置。」
參考:
import re
import os
class mymethod(object):
def __init__(self, file1):
self.file1 = file1
self._count = none
def count_main(self, main_str):
'''搜尋檔案中指定字串的個數
:param file_name: 檔名稱 type=str
:param main_str: 要搜尋的目標字段 type=str
:return:
'''fo = open(self.file1, "r+")
# 開啟檔案,r+:開啟乙個檔案用於讀寫。檔案指標將會放在檔案的開頭。
# 參考:
li_list =
fo.seek(0, 0)
for s in fo.readlines():
li = re.findall(main_str, s)
if li != :
else:
continue
fo.close()
return len(li_list)
def add_str(self, file2, main_str):
''':param file_name: 原始的檔名 type = str
:param file_new_name: 新生成的檔名 type = str
:param main_str: 搜尋的字串
:return:
'''self._count = self.count_main(main_str)
fo = open(self.file1, "r+")
fo.seek(0, 0)
content = fo.read()
for i in range(1, self._count // 3 + 1):
add_list = [' id="apname' + str(i) + '" class="ap"', ' class="outer"', ' class="wifi"']
for j in range(3):
pos = content.find("")
if pos != -1:
content = content[:pos + 2] + add_list[j] + content[pos + 2:]
fo_new = open(file2, "w")
# w 開啟乙個檔案只用於寫入。如果該檔案已存在則開啟檔案,並從開頭開始編輯,即原有內容會被
# 刪除。如果該檔案不存在,建立新檔案。
fo_new.write(content)
fo_new.close()
fo.close()
return file2
def excelcoltolist1(excel_file):
# data = xlrd.open_workbook(path + '/' + file_r)
data = xlrd.open_workbook(excel_file)
sheet1 = data.sheets()[0]
nrows = sheet1.nrows
ncols = sheet1.ncols
apnames =
apinpicturenums=
for i in range(2, nrows):
apname = sheet1.cell(i, 9).value
apname = apname.strip()
apinpicturenum = sheet1.cell(i, 15).value
apinpicturenum = apinpicturenum.strip()
new_str = [apnames[i] + '" name="' + apinpicturenums[i] for i in range(len(apnames))]
dictionary = dict(zip(apinpicturenums, new_str))
return dictionary
def replace_str(self, file2, old_str, new_str, new_list_strs):
''':param file2: 需要替換某些字串的文字 type=「str」
:param old_str: 需要被替換的字串 type = "str" 比如apname
:param new_str: 將old_str 替換成new_str tupe='str' 比如 h2-1f-ap
:param new_list_strs: 在ai打點時 的順序
:return:
'''fo = open(file2, "r")
mykeys =
myvalues =
for i in range(0, self._count // 3):
mydict = dict(zip(mykeys, myvalues))
content = fo.read()
for key, value in mydict.items():
content = content.replace(key, value)
fo_new = open(self.file1, "w")
fo_new.write(content)
fo_new.close()
fo.close()
os.remove(file2)
return self.file1
file1 = "testcopy.txt"
file2 = "testcopy2.txt"
main_str = ""
mytest = mymethod(file1)
file = mytest.add_str(file2, main_str)
old_str = "apname"
new_str = "h2-1f-ap"
new_list_strs = [1,2,3]
mytest.replace_str(file, old_str, new_str, new_list_strs)
利用python處理txt檔案
前段時間做公司乙個自動翻譯專案需要處理大量的文案字段,手工去做簡直不大可能 懶 因此借用python指令碼自動化處理掉了,在此記錄一下。import linecache def outputfile i,j,n zh file zh.read decode utf 8 encode gbk igno...
python處理txt檔案操作
1.開啟檔案 方法1,這種方式使用後需要關閉檔案 f open data.txt r f.close 方法2,使用檔案後自動關閉檔案 with open data.txt r as f 開啟檔案的模式主要有,r w a r w a r 以讀方式開啟檔案,可讀取檔案資訊。w 以寫方式開啟檔案,可向檔案...
處理 TXT 文字技巧
在一些場景會碰到需要從 txt 文字檔案提取需要的 txt 文字並沒有固定的格式,所以基本上每乙個不同的 txt 文字都需要單獨寫程式,下面是一些我在專案中用到的 txt 文字處理技巧。有用到的 python 處理 txt 開啟 txt 文字 with open txt r as f 逐行讀取 tx...