代码练习:对用户加密,解密,添加用户菜单
#coding=utf-8
#添加用户菜单选项
print(‘欢迎进入文件操作系统!’)
print(‘请选择代表相应功能的数字’)
while True:
num = input(‘加密:1 解密:2 退出:3’)
#根据不同选项进行的相应操作
if num == 1:
jiami()
print(‘已加密,请继续选择操作功能:’)
elif num == 2:
jiemi()
print(‘已加密,请继续选择操作功能:’)
elif num == 3:
break
else:
print(‘输入的是非法字符,请重新输入:’)
#加密函数
def jiami():
nam = raw_input(‘请输入需要加密的文件:’)
#给加密后的文件取名字,在后缀前加‘加密’
nam1 = nam.rfind(‘.’)
newnam = nam[0:nam1]+‘[加密]’+[nam1:]
open(‘nam’, ‘r’)
open(‘newnam’, ‘w’)
#读旧文件密码数字与asc码共同加密后写入新文件
psd = input(‘请输入一个数字作为密码:’)
content = nam.read(1)
while True:
if len(content) > 0:
num1 = ord(content)
num2 = num1+psd
num = chr(num2)
#先将一个字符转换成asc码,再加上密码后转换成字符
newnam.write(num)
content = nam.read(1)
else:
break
close(nam)
close(newnam)
#解密函数
def jiemi():
nam = raw_input(‘请输入需要解密的文件:’)
#给解密后的文件取名字,在后缀前加‘解密’
nam1 = nam.rfind(‘.’)
nam2 = nam.lfind(‘[’)
newnam = nam[0:nam2]+‘[解密]’+[nam1:]
open(‘nam’, ‘r’)
open(‘newnam’, ‘w’)
#读旧文件,密码数字与asc码共同解密后写入新文件
psd = input(‘请输入解密需要的一个数字密码:’)
content = nam.read(1)
while True:
if len(content) > 0:
num1 = ord(content)
num2 = num1-psd
num = chr(num2)
#先将一个字符转换成asc码,再减去密码后转换成字符
newnam.write(num)
content = nam.read(1)
else:
break
close(nam)
close(newnam)