我的问题:好吧,我做了我在哪里基本上使用的插座,以通过网络发送消息的小聊天程序的事情。
它的伟大工程,但是当我决定把它更进了一步,我遇到了一个问题。
我决定把一些加密添加到我是在网络上发送的字符串,所以我继续写道,这样做的脚本。
问题是,显然你不能只送一本字典通过socket,你可能会用一个字符串。
我做了一些研究第一次,我发现这个东西约酱菜。 不幸的是,我无法找到我究竟如何使用他们从有它导出字典文件转换串,放在一边,但我不能这样做,不改变我的计划。
任何人都可以帮助解释我是怎么做到这一点? 我已经无处不在环顾四周,但我似乎无法找出如何。
我上传什么我走到这一步,在这里,如果自带的任何利息给任何人。
print("\n\t\t Fill out the following fields:")
HOST = input("\nNet Send Server Public IP: ")
PORT = int(input("\nNet Send Server Port: "))
#------------------------------------------------
#Assessing Validity of Connection
#------------------------------------------------
try:
s = socket(AF_INET,SOCK_STREAM)
s.connect((HOST,PORT))
print("Connected to server:",HOST,)
except IOError:
print("\n\n\a\t\tUndefined Connection Error Encountered")
input("Press Enter to exit, then restart the script")
sys.exit()
#-------------------------------------------------
#Now Sending and recieving mesages
#-------------------------------------------------
i = True
while i is True:
try:
User_input = input("\n Enter your message: ")
Lower_Case_Conversion = User_input.lower()
#Tdirectory just stores the translated letters
Tdirectory = []
# x is zero so that it translates the first letter first, evidently
x = 0
COUNTLIMIT = len(Lower_Case_Conversion)
while x < COUNTLIMIT:
for letter in Lower_Case_Conversion[x]:
if letter in TRvalues:
Tdirectory += [TRvalues[Lower_Case_Conversion[x]]]
x = x + 1
message = input('Send: ')
s.send(message.encode())
print("\n\t\tAwaiting reply from: ",HOST,)
reply = s.recv(1024)
print(HOST,"\n : ",reply)
except IOError:
print("\n\t\aIOError Detected, connection most likely lost.")
input("\n\nPress Enter to exit, then restart the script")
哦,如果你想知道TRvalues是什么。 它是包含加密简单邮件中的“翻译”的字典。
try:
TRvalues = {}
with open(r"C:\Users\Owatch\Documents\Python\FunStuff\nsed.txt", newline="") as f:
reader = csv.reader(f, delimiter=" ")
TRvalues = dict(reader)
(这些转换会在它导入一个.txt举行)