我寫了下面的代碼來寫入文件,將其轉換爲整數值,保存該文件,然後讀取並將其轉換回原始字符串。但是,它會輸出兩次。讀取文件時打印輸出兩次
我的代碼是
def write():
sentence=input('What is your Statement?:')
name=input('Name your file:')
sentence=sentence.lower()
words=sentence.split(' ')
file_register=set()
F_output=[]
position=[]
for i in words:
if i not in file_register:
F_output.append(i)
file_register.add(i)
for x in words:
for y in range(len(F_output)):
if x==F_output[y]:
position.append(y)
name+='.txt'
with open(str(name),'w') as f:
f.write(str(len(position)) + '\n')
for c in range(len(position)):
f.write(str(position[c]) + '\n')
f.write(str(len(F_output)) + '\n')
for d in range(len(F_output)):
f.write(str(F_output[d] + '\n'))
f.close
global name
global position
def read1():
savefile=[]
output=('')
with open(name,'r') as file_open:
num=int(file_open.readline())
while num!=0:
a1=file_open.readline()
a1_split=a1.split('\n')
position.append(int(a1_split[0]))
num-=1
file_integer=int(file_open.readline())
while file_integer!=0:
word_s=file_open.readline()
word_split=word_s.split()
savefile.append(word_split)
file_integer-=1
for n in range(len(position)):
a=position[n]
output+=str(savefile[a])+('')
global output
write()
read1()
print('Your file is: '+output)
我曾試圖尋找,但我無法找到它的答案。我相當新的Python和任何幫助表示讚賞。
請修復您的代碼片段縮進。 –
以這種方式使用全局變量幾乎總是一個壞主意 – brianpck
@brianpck你可以放棄「這樣」的一部分 - 至於我所關心的,你也可以放棄「幾乎」;) –