小编dil*_*ten的帖子

Python/socket:如何将文件发送到不同网络上的另一台计算机?

如果计算机在同一网络上,则以下代码有效。但是,如果这些计算机位于不同的网络上,则连接会超时。

server.py的代码是:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import socket

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(("192.168.1.**", 12345))

s.listen(10)
c, addr = s.accept()
print('{} connected.'.format(addr))

f = open("image.jpg", "rb")
datas = f.read(1024)

while datas:
    c.send(datas)
    datas = f.read(1024)

f.close()
print("Done sending...")
Run Code Online (Sandbox Code Playgroud)

client.py包括:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import socket

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("192.168.1.**", 12345))

f = open("recieved.jpg", "wb")

while True:
    datas = s.recv(1024)
    while datas:
        f.write(datas)
        datas = s.recv(1024)
    f.close()
    break
print("Done receiving")
Run Code Online (Sandbox Code Playgroud)

我读到,问题可能来自调制解调器设置。然后我关闭了server.py …

python sockets

5
推荐指数
1
解决办法
1万
查看次数

Python/Threading/Barrier:这是 Barrier 的正确用法吗?

也许我还没有理解线程的屏障概念。但是我写了一个代码,我想了解它是否正确使用了屏障。

以下是代码:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import time
import random
import threading


def f(b):
    time.sleep(random.randint(2, 10))
    print("{} passed the barrier at: {}".format(threading.current_thread().getName(), time.ctime()))
    b.wait()


barrier = threading.Barrier(3)
for i in range(3):
    t = threading.Thread(target=f, args=(barrier,))
    t.start()
Run Code Online (Sandbox Code Playgroud)

python multithreading

5
推荐指数
1
解决办法
1692
查看次数

如何在tkinter中将xscrollbar添加到Text小部件

根据这个来源:x和y滚动条都可以添加到tkinter的Text()小部件中.在程序方法中使用的代码是:

from tkinter import *
root = Tk()

frame = Frame(master, bd=2, relief=SUNKEN)

frame.grid_rowconfigure(0, weight=1)
frame.grid_columnconfigure(0, weight=1)

xscrollbar = Scrollbar(frame, orient=HORIZONTAL)
xscrollbar.grid(row=1, column=0, sticky=E+W)

yscrollbar = Scrollbar(frame)
yscrollbar.grid(row=0, column=1, sticky=N+S)

text = Text(frame, wrap=NONE, bd=0,
        xscrollcommand=xscrollbar.set,
        yscrollcommand=yscrollbar.set)

text.grid(row=0, column=0, sticky=N+S+E+W)

xscrollbar.config(command=text.xview)
yscrollbar.config(command=text.yview)

frame.pack()
root.mainloop()
Run Code Online (Sandbox Code Playgroud)

但是,我选择了类方法并编写了下面的代码,根据以下代码,y滚动条工作,但x滚动条不起作用.为什么x滚动条在这个例子中不起作用?

import tkinter as tk


 class App(tk.Frame):
    def __init__(self, master=None):
        super().__init__(master)
        self.grid_rowconfigure(0, weight=1)
        self.grid_columnconfigure(0, weight=1)

        self.x_scrollbar = tk.Scrollbar(master=self, orient="horizontal")
        self.x_scrollbar.grid(row=1, column=0, sticky="w, e")

        self.y_scrollbar = tk.Scrollbar(master=self)
        self.y_scrollbar.grid(row=0, column=1, sticky="n, s")

        self.text = tk.Text(master=self, width=100, …
Run Code Online (Sandbox Code Playgroud)

python tkinter

3
推荐指数
1
解决办法
227
查看次数

标签 统计

python ×3

multithreading ×1

sockets ×1

tkinter ×1