将变量添加到图像的路径中

时间:2017-12-04 12:55:44

标签: python tkinter path decode

我试图让我的客户端程序显示一个图像,其名称对应于从服务器收到的消息。

因此,如果客户收到b'red',它应该在路径上显示图像:“/ home / pi /Desktop / gifs / red.gif”

以下是客户端程序的代码:

import socket
import tkinter as tk
HOST = 'localhost'    # The remote host
PORT = 50007              # The same port as used by the server
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))

message = s.recv(1024)
print(message) # Message is a bytes-like-object e.g. b'red'

root = tk.Tk()
image1 = tk.PhotoImage(file="/home/pi/Desktop/gifs/x.gif") 
#x should change accordingly to the received message 
Thelabel = tk.Label(image=image1)
Thelabel.pack()
root.update()

如何在我的图片路径中创建一个变量来获取消息中的信息?所以我想像字节一样的对象必须被解码成一个字符串?

1 个答案:

答案 0 :(得分:0)

基于@CommonSense对该问题的评论。

    byte_string = s.recv(1024)
    path = '/home/pi/Desktop/gifs/%s.gif' % byte_string.decode()

    root = tk.Tk()
    image1 = tk.PhotoImage(file=path) 
    Thelabel = tk.Label(image=image1)
    Thelabel.pack()
    root.update()