制作如下的密码学程序。(向其添加文件i / o)
以下是我需要在程序中添加的代码:
#open file to write record(s). It will create the file if new!
f = open("temp.txt", "w")
f.write("Hello!\n")
f.close
#open file to read this time
f = open("temp.txt", "r")
line = f.readline()
print(line)
f.close
#try binary read...
f = open("temp.txt", "rb")
line = f.readlines()
print(line)
f.close
这是我已经拥有的(除了文件的输入/输出功能之外的一切):
# Caesar Cipher
MAX_KEY_SIZE = 26
def getMode():
while True:
mode = input("Do you wish to encrypt or decrypt a message?").lower()
if mode in "encrypt e decrypt d". split():
return mode
else:
## print("Enter either "encrypt" or "e" or "decrypt" or "d".')
def getMessage():
return input("Enter you message")
def getKey():
key = 0
while True
key = int(input("Enter a key number (1-26)"))
if (key >=1 and key <= MAX_KEY_SIZE):
return key
def getTranslatatedMessage(mode, messafe, key):
if mode[0] == "d":
key = -key
translated = ""
for symbol in message:
if symbol.isalpha():
num = ord(symbol)
num += key
if symbol.isupport():
if num > ord("Z"):
num -= 26
elif num < ord("A"):
num += 26
elif symbol.islower():
if num < ord("z"):
num += 26
elif num < ord("a"):
num += 26
translated += chr(num)
else:
translated += symbol
return translated
mode = getMode()
message = getMessage()
key = getKey()
我的问题是我在哪里将上述代码添加到加密/解密程序中?
答案 0 :(得分:0)
你没有问过你的问题。
中找到有关输入/输出的信息基本上,您可以打开文件,写入文件并按以下方式关闭它:
f = open("myfile", "w")
text = "something"
f.write(text)
f.close()
为了处理二进制数据,可以指定二进制格式&#34; wb&#34;写作或&#34; rb&#34;阅读和转换,如:
f = open("binfile", "rb")
buffer = f.read(2)
print hex(ord(buffer[0]))
还有其他方法可以在Python中打包/解压缩二进制文件,但是你必须提出一个更精确的问题。
答案 1 :(得分:0)
您似乎想要处理文件而不是用户提供的消息。 因此,在 getMessage 中,您应该返回读取文件的内容
def getMessage():
f = open("temp.txt", "r")
text = f.read()
f.close()
return text
你写信给翻译的消息。