Я написал этот скрипт на Python для обработки файла словаря (который является текстовым файлом) следующим образом:
Слово идет после «#», а значение этого слова идет под словом, разделенным \ n.
...
#hello
xxx
yyy
zzz
#another
ooo
Я хочу добавить слова в файл с помощью этого сценария Python. Но я не знаю, как это сделать. И самое запутанное - если в файле есть это слово, тогда добавьте к нему значения.
./main.py add 'hello' 'xxx;yyy;zzz;'
Вот так я могу добавить слово и его значения в файл. Как я мог это сделать. Я написал много сценариев для выполнения, и они:
def add(d,w,m):
dic = dictPath+d
nwords = '\n'.join(m.split(";"))
wmean = '#'+w+'\n'+nwords
here = False
lnum=0
with open(dic,"r") as rf:
for line in rf:
if line == "#"+w+"\n": ## 'cause every line ends with \n
here="yes"
lnum+=1
else:
lnum+=1
if here == "no":
with open(dic,"a") as af:
af.writelines(wmean)
else:
with open(dic,"w") as wf:
data = rf.readlines()
data[lnum+1] = nwords
wf.writelines(data)
wf.close()
rf.close()
af.close()
и
def add(d,w,m):
dic = dictPath+d
nwords = '\n'.join(m.split(";"))
wmean = '#'+w+'\n'+nwords
with open(dic,"r+") as f:
for line in f:
if line == "#"+w+"\n":
f.write(wmean)