小编Aus*_*inM的帖子

Python处理特定的错误代码?

嘿,我想知道如何处理特定的错误代码.例如,[Errno 111] Connection refused

我想在套接字模块中捕获此特定错误并打印一些内容.

python sockets exception-handling exception

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

Python客户端/服务器问题

我正在使用python进行一些项目.我有一个客户端和一个服务器.服务器侦听连接,一旦收到连接,它就等待来自客户端的输入.这个想法是客户端可以连接到服务器并执行系统命令,如ls和cat.这是我的服务器代码:

import sys, os, socket


host = ''                
port = 50105

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((host, port))
print("Server started on port: ", port)

s.listen(5)
print("Server listening\n")
conn, addr = s.accept()
print 'New connection from ', addr
while (1):
    rc = conn.recv(5)
    pipe = os.popen(rc)
    rl = pipe.readlines()
    file = conn.makefile('w', 0)
    file.writelines(rl[:-1])
    file.close()
    conn.close()
Run Code Online (Sandbox Code Playgroud)

这是我的客户端代码:

import sys, socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host = 'localhost'
port = input('Port: ')
s.connect((host, port))
cmd = raw_input('$ ')
s.send(cmd) 
file = s.makefile('r', 0) …
Run Code Online (Sandbox Code Playgroud)

python sockets client command

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

Python通过套接字发送命令

我有点麻烦.我想创建一个连接到服务器并使用子进程执行命令的简单程序,然后将结果返回给客户端.它很简单,但我不能让它工作.现在这就是我所拥有的:客户:


import sys, socket, subprocess
conn = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host = sys.argv[1]
port = int(sys.argv[2])
socksize = 1024
conn.connect((host, port))
while True:
    shell = raw_input("$ ")
    conn.send(shell)
    data = conn.recv(socksize)
    #msglen = len(data)
    output = data
    iotype = subprocess.PIPE
    cmd = ['/bin/sh', '-c', shell]
    proc = subprocess.Popen(cmd, stdout=iotype).wait()
    stdout,stderr = proc.communicate()
    conn.send(stdout)
    print(output)
    if proc.returncode != 0:
        print("Error")
Run Code Online (Sandbox Code Playgroud)

服务器:


import sys, socket, subprocess
host = ''               
port = 50106
socksize = 1024

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((host, port))
print("Server started …
Run Code Online (Sandbox Code Playgroud)

python client subprocess execution

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

Python检查当前进程是否正在运行?

我需要在我的python脚本中添加一个函数来检查当前脚本是否已经在运行.如果是,那么它将退出,如果不是它继续运行脚本.我已经研究过这样做的方法,但我无法弄清楚如何做到这一点.

python process

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

Python套接字 - 保持套接字活着吗?

我在Python中使用套接字有点麻烦.每当有人连接它工作正常但如果他们断开连接服务器程序关闭.我希望服务器程序在客户端关闭后保持打开状态.我正在使用while循环来保持连接活动但是一旦客户端关闭连接,服务器就会关闭它的连接.

这是客户:

import socket, sys
conn = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host = sys.argv[1]
port = int(sys.argv[2])
conn.connect((host, port))

print("Connected to host " + sys.argv[1])
td = 1
while td == 1:
   msg = raw_input('MSG:  ')
Run Code Online (Sandbox Code Playgroud)

这是服务器:

import socket, sys

socket.setdefaulttimeout(150)
host = ''               
port = 50005
socksize = 1024

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((host, port))
print("Server started on port: %s" % port)
s.listen(1)
print("Now listening...\n")
conn, addr = s.accept()

while True:
    print 'New connection from %s:%d' % (addr[0], addr[1])
    data = …
Run Code Online (Sandbox Code Playgroud)

python sockets client tcp

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

Python睡眠时不会干扰脚本?

嘿我需要知道如何在不干扰当前脚本的情况下在Python中睡觉.我尝试过使用time.sleep()它会使整个脚本都处于睡眠状态.

比如说


import time
def func1():
    func2()
    print("Do stuff here")
def func2():
    time.sleep(10)
    print("Do more stuff here")

func1()

我希望它立即在这里打印Do stuff,然后等待10秒并在这里打印更多的东西.

python time sleep function

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

逃离html%20

我正在使用Python开发一些东西,我需要从%20(URL中的空格)中逃脱.例如:

"%20space%20in%20%d--" % ordnum
Run Code Online (Sandbox Code Playgroud)

所以我需要使用%20作为URL,然后使用%d作为数字.但我得到这个错误:

TypeError: not enough arguments for format string
Run Code Online (Sandbox Code Playgroud)

我知道问题是什么我只是不知道如何从%20中逃脱并修复它.

python string escaping format-string

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