3. 从键盘输入字符串并保存成文件。要求: (1)输入字符串中包括:大小写字母、空格、数字等字符,以“#”作为字符串输入的结束条件; (2)对输入的字符进行加密并保存,以二进制文件方式保存,用户可以输入保存路径,如:C:\file.txt ; (3)打开文件时,对加密文件进行解密并显示在屏幕上。
时间: 2024-03-13 08:46:52 浏览: 22
好的,您的问题是如何从键盘输入字符串并保存成文件,对输入的字符进行加密并保存,以二进制文件方式保存,用户可以输入保存路径,再打开文件时进行解密并显示在屏幕上。
以下是一个示例代码,您可以参考一下:
```python
import os
import binascii
# 加密函数
def encrypt(text):
result = ""
for char in text:
result += chr(ord(char) + 1)
return result
# 解密函数
def decrypt(text):
result = ""
for char in text:
result += chr(ord(char) - 1)
return result
# 从键盘输入字符串并保存成文件
text = ""
while True:
input_str = input("请输入字符串(以#结束):")
if input_str == "#":
break
text += input_str + "\n"
file_path = input("请输入文件保存路径:")
# 对输入的字符进行加密并保存成二进制文件
encrypted_text = encrypt(text)
with open(file_path, "wb") as f:
f.write(binascii.a2b_qp(encrypted_text))
# 打开文件并进行解密
with open(file_path, "rb") as f:
encrypted_data = f.read()
decrypted_data = decrypt(binascii.b2a_qp(encrypted_data).decode())
print(decrypted_data)
```
需要注意的是,加密和解密函数可以根据实际需求进行修改,示例代码中使用了一种简单的加密方式:将每个字符的 ASCII 码值加 1,解密时将每个字符的 ASCII 码值减 1。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)