2015-11-26 109 views
1

我是新來的Python,我想知道如何保存這個哈希密碼列表(存儲在變量密碼的Python:導出文本列表到一個文本文件

['73868cb1848a216984dca1b6b0ee37bc', '2de9210e9173ca4151bb220a2ded6cdb', '8c064f4067cf0c59c68ec281f5786cb2'] 

在格式的文本文件:

73868cb1848a216984dca1b6b0ee37bc 
2de9210e9173ca4151bb220a2ded6cdb 
8c064f4067cf0c59c68ec281f5786cb2 

目前我可以將它保存到一個文本文件,但它保存爲

['73868cb1848a216984dca1b6b0ee37bc', '2de9210e9173ca4151bb220a2ded6cdb', '8c064f4067cf0c59c68ec281f5786cb2'] 

當前代碼保存文件:

f = open('hash.txt', 'w') 
f.write(repr(passwords) + '\n') 
f.close() 

請幫助:)謝謝

原因想在文本保存的,所以我可以調用一個新的腳本列表但對其進行解密,因爲它保存爲一個列表(並作爲一個列表導入),它會在列表中創建一個列表並混淆我的解密腳本。

編輯:謝謝大家的偉大答案:)其巨大的幫助!

+0

所以你的問題是,當你嘗試導入該文件正在創建另一個列表? – Inkblot

+0

@Inkblot是的,所以我想通過將它保存爲不同的格式來解決我的問題。當我導入文件(在另一個腳本),它出來的: '[ 「[ '73868cb1848a216984dca1b6b0ee37bc', '2de9210e9173ca4151bb220a2ded6cdb', '8c064f4067cf0c59c68ec281f5786cb2'] \ n」]' –

回答

0

你可以像這樣保存:

with open('hash.txt', 'w') as f: 
    f.write('\n'.join(passwords)) 

這實現了你所要做的。 (你可以避開與語句)

裝載方法:

passwords = [] 
with open('hash.txt', 'r') as f: 
    passwords.extend(f.read().split('\n')) 

使用Python 3,你必須要小心的字節轉換第一個爲str ...

映入眼簾。

編輯:

對不起,那一定是passwords.extend() - 不passwords.append()

+0

當試圖加載(我之後打印密碼)和它的打印這樣的:'[[「73868cb1848a216984dca1b6b0ee37bc」,「2de9210e9173ca4151bb220a2ded6cdb」,「8c064f4067cf0c59c68ec281f5786cb2」]]' 你知道如何解決這一問題?再次感謝(列表中的列表) –

+0

對不起,剛剛看到最新的編輯。謝謝:)它現在的作品 –

+0

對不起,我忘了標記編輯。 – Hendrik

0

您可以使用下面的代碼:當你必須拿出從列表中取出值

f = open('hash.txt', 'w') 
for a in passowrds: 
f.write(a + '\n') #you have to pass them as separate variables 
f.close() 

,您可以使用for循環

list = ["cat","dog","lion"] 
for animal in list: 
    print animal 

這將打印列表中的每個動物。您可以使用任何其他變量名稱代替動物。

+0

爲什麼要使用'再版(一)'? - python2中'a'就足夠了。 – Hendrik

+0

編輯答案 – Sanidhay

0

您應該使用readlines()從文件中的文本傳遞到列表,並使用該列表,像這樣:

passwords = [] 

with open('hash.txt', 'r') as f: 
    passwords = f.readlines() 
f.close() 

如果您遇到'\n',那麼就使用類似"".join(passwords)

+0

我認爲問題在於,該文件格式錯誤,因爲它是用'repr()'編寫的,而不是它不能被讀取。 – Hendrik

+0

看看OP的問題下面的意見,他說了一個不同的問題或至少與原始問題略有不同 – Inkblot

+0

問題是,他將它保存在一行中,這使得解析不必要的複雜。這就是爲什麼他的劇本以'['['...','...',...]「]的形式讀取它的原因。 將它保存爲多行比較容易。 – Hendrik

0

要打開:

f = open('hash.txt', 'w') 

爲了節省:

f.write(file_path) 
相關問題