2015-04-13 105 views
0

我們接受了一項任務,幫助我們理解python如何與JAVA一起工作(更具體地說,Python字典是如何工作的)。使用字典進行加密/解密

我們的老師要我們用非線性字典創建程序,例如:

a = c 
b = d 
c = e 
d = f 
e = g 
f = h 
g = i 

一旦我們做到了這一點,我們應該調用這個程序來讀取一個隨機的(已指定txt文件)和進口結果轉換爲「encrypted_」,後面跟着txt文件名,所以如果我們加密text1.txt,它將被加密文本

這似乎是所有hunky dory,但這個實驗室讓我感到困惑,我希望一些更有經驗的python programers在這裏可以指導我使用字典進行加密的一些例子,這樣我可以更好地理解它們是如何實現的工作。

謝謝

+0

查找的字符串。翻譯功能,它做你需要做的事情。 – Loocid

+0

我明白了,在調用其他想要編碼的文本文檔時,是否可以使用該函數? – Daniel

+0

是的。 python2.7和3之間的語法略有不同,但在3中你可以這樣做:'tab = str.maketrans(「123」,「abc」)'來創建轉換表。然後'str.translate(「1423」,tab)'會輸出'a4bc'。 – Loocid

回答

0

示例程序翻譯的文本文件(注意,這是python3,如果你使用python2.7,你將不得不作出一些改變):

from string import maketrans 

intab = "abcdefghijklmnopqrstuvwxyz" 
outtab = "cdefghijklmnopqrstuvwxyzab" 
trantab = maketrans(intab, outtab) 

inputfile = open("your_file_here.txt","r") 
s = inputfile.read() 

translation = s.translate(trantab) 

print(translation) 
+0

是的,我使用2.7可能爲什麼它給我文件「./test.py」,第7行,在 trantab = str.maketrans(intab,outtab) AttributeError:type object'str'has no attribute'maketrans '我改變的唯一的東西(當時)是your_file到simple.txt,但是我得到了想法Ill修補它的想法 – Daniel

+0

@Daniel就像我說的,3和2.7之間的語法是不同的。我說我發佈了代碼,在3中工作。我編輯我的代碼到一個應該在2.7上工作的代碼,但我沒有安裝2.7來檢查。 – Loocid

+0

我看到了,這就是爲什麼我說我會搞砸,實際上只是讓它工作,我需要添加更多的組件,但是這回答了加密部分。謝謝! – Daniel

相關問題