練習 文字日誌增加刪除 指定字串格式

2022-07-20 18:03:12 字數 2635 閱讀 4361

日誌格式

backend test.oldboy.orgb1

backend buy.oldboy.org

import json

s = '''

}'''

# 顯示一級選單

def p_1():

print('1:增加一條記錄',' 2:刪除一條記錄')

# 顯示二級選單

def p_2():

print('1:test.oldboy.org',' 2:buy.oldboy.org')

#計算開始和結束位置

def ins_del(readlines):

mstart = mend = none

for i in readlines:

if dic['backend'] in i:

mstart = readlines.index(i)

elif none != mstart and i.strip() == '':

mend = readlines.index(i,mstart)

break

else:

mend = len(readlines)

if not '\n' in readlines[mend - 1]:#如果結束行沒有換行,就新增換行符

readlines[mend - 1] += '\n'

return mstart,mend

while true:

p_1()

pt = input('選擇增加還是刪除:')

if pt == 'q':

print('退出操作')

exit()

elif pt.isdigit() and int(pt) > 0 and int(pt) < 3:

p_2()

if int(pt) == 1:#增加

while true:

pt = input('選擇要增加的型別:')

if pt == 'q':

print('退出操作')

exit()

elif pt == 'b':

break

elif pt.isdigit() and int(pt) > 0 and int(pt) < 3:

server = input('輸入server資訊:')

weight = input('輸入weight資訊:')

maxcoon = input('輸入maxcoon資訊:')

if int(pt) == 1:

ts = s % ('test.oldboy.org',server,weight,maxcoon)

else:

ts = s % ('buy.oldboy.org',server,weight,maxcoon)

dic = json.loads(ts)#將字典格式字串轉換成字典(字串內需用雙引號)

with open('file.txt','r+') as f:

r = f.readlines()

mstart,mend = ins_del(r)

r.insert(mend,

('\tserver weight maxcoon \n'.format(**dic['record'])))

f.seek(0)#readlines後指標的檔案尾部,所以要移動指標到首部

f.writelines(r)#新增比原來行數多,會直接覆蓋,所以不用清空原檔案

break #跳出此次操作

else:

print('未定義%s' % pt)

else:#刪除

while true:

pt = input('選擇要刪除的型別:')

if pt == 'q':

print('退出操作')

exit()

elif pt == 'b':

break

elif pt.isdigit() and int(pt) > 0 and int(pt) < 3:

with open('file.txt','r') as f:

r = f.readlines()

if int(pt) == 1:

dic =

else:

dic =

mstart,mend = ins_del(r)

tlist = list(r[mend:mstart:-1])#倒序切片列表

rcount = 1#倒序步進值,因為mend=空行或列表總行數,比實際下標多1,所以從1開始

for i in tlist:

if 'server' in i:#判斷是否是要刪除的內容

#內容是倒的,所有查詢索引也要從倒著開始,不然index預設找第一次出現的值

r.pop(r.index(i,mend - rcount))

break

rcount += 1

with open('file.txt','w') as f:#清空原始文字

f.writelines(r)

break

else:

print('未定義%s' % pt)

else:

print('未定義%s' % pt)

字串刪除指定字元

一 演算法描述 給定乙個字串和模式字串,要求將出現在模式字串的字元在原字串中刪除。二 演算法思路 從題面理解,常規思路是遍歷原字串和模式字串,將原字串的每個字元和模式串的每個字元比較,如果比較相等,則不輸出,其時間複雜度為o m n m和n各自為字串和模式字串的長度 另一種高效的思路是以空間換時間,...

C string 字串刪除指定字元

今天遇到的情況時需要刪除時間戳裡的 只留下數字。想找比較簡單的實現方法,找了半天,發現的方案 用stl的string的 find 和 erase 首先,通過find找到需要刪除的字元 字串的位置 string str string target int pos str.find target 然後通...

刪除字串中的指定字元

本題要求實現乙個刪除字串中的指定字元的簡單函式。函式介面定義 void delchar char str,char c 其中char str是傳入的字串,c是待刪除的字元。函式delchar的功能是將字串str 現的所有c字元刪除。裁判測試程式樣例 include define maxn 20 vo...