Python 使用字典进行加密/解密

Python 使用字典进行加密/解密,python,encryption,dictionary,Python,Encryption,Dictionary,我们被分配了一个任务来帮助我们理解python与JAVA的工作原理(更具体地说是python字典的工作原理) 我们的老师希望我们使用非线性词典创建一个程序,例如: a = c b = d c = e d = f e = g f = h g = i 一旦我们完成了这项工作,我们应该调用这个程序来读取一个随机的(已经指定的txt文件)并将结果导入到“encrypted_”中,后跟txt文件名,因此如果我们加密text1.txt,它将被加密 这看起来很好,但这个实验室让我感到困惑,我希望这里一些更

我们被分配了一个任务来帮助我们理解python与JAVA的工作原理(更具体地说是python字典的工作原理)

我们的老师希望我们使用非线性词典创建一个程序,例如:

a = c
b = d
c = e
d = f
e = g
f = h
g = i 
一旦我们完成了这项工作,我们应该调用这个程序来读取一个随机的(已经指定的txt文件)并将结果导入到“encrypted_”中,后跟txt文件名,因此如果我们加密text1.txt,它将被加密

这看起来很好,但这个实验室让我感到困惑,我希望这里一些更有经验的python编程人员可以指导我使用字典进行加密,这样我就可以更好地理解它们是如何工作的


感谢您翻译文本文件的示例程序(请注意,这是python3,如果您使用的是python2.7,则必须进行一些更改):


查找string.translate函数,它执行您需要执行的操作。我明白了,在调用您希望编码的其他文本文档时,是否可以使用该函数?是的。python2.7和3之间的语法略有不同,但在3中,您可以使用:
tab=str.maketrans(“123”,“abc”)
来生成翻译表。然后,
str.translate(“1423”,tab)
将输出
a4bc
。好的,最后一个问题,我尝试使用了string.translate函数,目前为止(作为测试):
/调用maketrans函数需要字符串import maketrans中的usr/bin/python。intab=“abcdefghijklmnopqrstuvxyz”outtab=“cdefghijklmnopqrstuvxyzab”trantab=maketrans(intab,outtab)str=“这是字符串示例……哇!!!”;打印str.translate(trantab);'我如何使用这个基本程序调用另一个文本文件?我知道我必须删除str=并打印str.tran部分,但我不确定我到底需要什么来添加一个示例作为答案,给我2秒钟。是的,我正在使用2.7,可能是因为它给了我文件“/test.py”,第7行,在trantab=str.maketrans(intab,outtab)AttributeError:type对象'str'没有属性'maketrans',我(当时)唯一更改的是将您的_文件更改为simple.txt,但我得到了这个想法,我将对此进行修补it@Daniel就像我说的,3和2.7之间的语法是不同的。我说我发布了在3中有效的代码。我把我的代码编辑成了一个应该可以在2.7上运行的代码,但是我没有安装2.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)