python - socket练习(输入系统命令)
socket_server端代码:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Auther: pangguoping import socket
import subprocess
ip_port=('127.0.0.1',9990)
#买手机
s=socket.socket()
s.bind(ip_port)
s.listen(5)
while True:
conn,addr=s.accept()
while True:
try:
recv_data=conn.recv(1024)
if len(recv_data) == 0:break
#发消息
p=subprocess.Popen(str(recv_data,encoding='utf-8'),shell=True,stdout=subprocess.PIPE)
res=p.stdout.read()
if len(res) == 0:
send_data='cmd err'
else:
send_data=str(res,encoding='gbk')
print(send_data)
conn.send(bytes(send_data,encoding='utf-8')) except Exception:
break
#挂电话
conn.close()
socket_client代码
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Auther: pangguoping import socket
ip_port=('127.0.0.1',9990)
#买手机
s=socket.socket()
#拨号
s.connect(ip_port)
#发送消息
while True:
send_data=input(">>:").strip()
if send_data == 'exit':break
if len(send_data) == 0:continue
s.send(bytes(send_data,encoding='utf-8'))
#收消息
recv_data=s.recv(1024)
print(str(recv_data,encoding='utf-8'))
#挂电话
s.close()
首先,运行socket_server端程序,然后才能执行客户端程序
这里执行socket_client.py
>>:dir
驱动器 D 中的卷没有标签。
卷的序列号是 626C-277F D:\PycharmProjects\s13\day9\SOCKET_TEST2 的目录 2016/07/03 15:16 <DIR> .
2016/07/03 15:16 <DIR> ..
2016/07/03 15:15 470 socket_client.py
2016/07/03 15:16 810 socket_server.py
2016/07/03 14:54 70 __init__.py
3 个文件 1,350 字节
2 个目录 90,986,483,712 可用字节
如果输入错误的命令,输出:
>>:sdkflsdfds
cmd err
python - socket练习(输入系统命令)的更多相关文章
- PYTHON SOCKET编程简介
原文地址: PYTHON SOCKET编程详细介绍 Python 提供了两个基本的 socket 模块. 第一个是 Socket,它提供了标准的 BSD Sockets API. 第二个是 Soc ...
- Python Socket 编程——聊天室示例程序
上一篇 我们学习了简单的 Python TCP Socket 编程,通过分别写服务端和客户端的代码了解基本的 Python Socket 编程模型.本文再通过一个例子来加强一下对 Socket 编程的 ...
- Python Socket 网络编程
Socket 是进程间通信的一种方式,它与其他进程间通信的一个主要不同是:它能实现不同主机间的进程间通信,我们网络上各种各样的服务大多都是基于 Socket 来完成通信的,例如我们每天浏览网页.QQ ...
- Python Socket,How to Create Socket Cilent? - 网络编程实例
文章出自:Python socket – network programming tutorial by Silver Moon 原创译文,如有版权问题请联系删除. Network programin ...
- Python Socket单线程+阻塞模式
Python之旅]第五篇(二):Python Socket单线程+阻塞模式 python Socket单线程 Socket阻塞模式 串行发送 摘要: 前面第五篇(一)中的一个Socket例子其实就是 ...
- python笔记之调用系统命令
python笔记之调用系统命令 目前我使用到的python中执行cmd的方式有三种 使用os.system("cmd") 该方法在调用完shell脚本后,返回一个16位的二进制数, ...
- python/socket编程之粘包
python/socket编程之粘包 粘包 只有TCP有粘包现象,UDP永远不会粘包. 首先需要掌握一个socket收发消息的原理 发送端可以是1k,1k的发送数据而接受端的应用程序可以2k,2k的提 ...
- python常用模块-调用系统命令模块(subprocess)
python常用模块-调用系统命令模块(subprocess) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. subproces基本上就是为了取代os.system和os.spaw ...
- Python Socket网络编程详解
Socket 简介 socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. s ...
- Python Socket 编程——聊天室演示样例程序
上一篇 我们学习了简单的 Python TCP Socket 编程,通过分别写服务端和client的代码了解主要的 Python Socket 编程模型.本文再通过一个样例来加强一下对 Socket ...
随机推荐
- python 下的数据结构与算法---4:线形数据结构,栈,队列,双端队列,列表
目录: 前言 1:栈 1.1:栈的实现 1.2:栈的应用: 1.2.1:检验数学表达式的括号匹配 1.2.2:将十进制数转化为任意进制 1.2.3:后置表达式的生成及其计算 2:队列 2.1:队列的实 ...
- 纯js滑动脚本
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Android(通用机能)
数据存储 本地数据存在都是私有化的. 共享方法1是构造数据源组件.方法2将数据放入扩展存储设备. Mashup 服务组件默认没有运行在独立进程或线程中,因此费时操作一般需要起线程.可配置指定新进程. ...
- csv 导入到 access中去
Csv中有500万数据,导入到Access中去,每6万条数据为1Table 先是参照着http://support.microsoft.com/kb/257819/zh-cn来写 1.找不到可安装的 ...
- js中的逻辑或和逻辑与
a=''||'abc'; //返回什么? 'abc' a=1||2; // ...
- JavaScript进阶学习的一些建议
blankyao最近问我如何学习JavaScript,他觉着在理解了JavaScript的语法之后,不知如何去学习JavaScript了. 其实我也是个JavaScript小菜,最近在开发中遇到不少关 ...
- 分享QQ第三方登陆SDK
主要是考虑到QQ的PHP SDK写的真是太烂了,纯属是普及API知识,而不是到手就可以部署的类库..反正自己都写了一个了,就拿出来分享下.. 什么也不多说,直接上代码. Qq_sdk.php < ...
- 很强的PHP图片处理类
/*** 基本图片处理,用于完成图片缩入,水印添加* 当水印图超过目标图片尺寸时,水印图能自动适应目标图片而缩小* 水印图可以设置跟背景的合并度** Copyright(c) 2005 by ustb ...
- haslayout引起的IE6 :hover失效
大家都知道IE6之支持<a>标签的:hover为了,但是通常在做实际效果的时候<a>标签 :hover在IE6下会失效, 看代码: [code="html" ...
- Flask学习记录之Flask-WTF
Flask-wtf时Wtforms库的flask框架扩展,能够方便的处理Web表单 一.定义一个web表单 使用flask-wtf时,每个web表单都由一个继承自flask.ext.wtf.Form的 ...