实现一个简单的常驻任务是容易的,写一个while True就可以了,但是同时要能接收外界传来的参数,就稍微有点复杂.

我第一个想到的是网络编程中的server/client模式

server作为常驻进程,可以接受client传来的各种参数进行处理

服务端:server.py

import sockets = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

s.bind(('127.0.0.1', 10001))

s.listen(5)

def do_some():

pass

def do_other():

pass

def tcplink(sock, addr):

print('Accept new connection from %s:%s...' % addr)

sock.send(b'Welcome!')

while True:

data = sock.recv(1024)

time.sleep(1)

if not data or data.decode('utf-8') == 'exit':

break

data_str = data.decode('utf-8')

data_list = data_str.split(',')

if len(data_list) == 3:

do_some()

else:

do_other()

sock.send(('processing, %s!' % s3).encode('utf-8'))

sock.close()

if __name__ == '__main__':

while True:

# 接受一个新连接:

data, addr = s.accept()

# 创建新线程来处理TCP连接:

t = threading.Thread(target=tcplink, args=(data, addr))

t.start()

服务端实现完了,下面我们来实现客户端client.py,客户端支持传入参数或从文件读取参数,来向客户端发送请求

import socket

import sys

if __name__ == '__main__':

param = sys.argv[1]

c_list = []

if param.endswith('txt'):

with open(param, 'r') as file:

for line in file.readlines():

c_list.append(line.strip().encode('utf8'))

else:

c = param.encode('utf8')

c_list.append(c)

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

s.connect(('127.0.0.1', 10001))

print(s.recv(1024).decode('utf-8'))

for data in c_list:

s.send(data)

print(s.recv(1024).decode('utf-8'))

s.send(b'exit')

s.close()

这样通过两个脚本,一个实现了常驻进程,一个实现了传入参数,就可以不断接受外界请求

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持随便开发网。

python怎么接收前端参数_Python常驻任务实现接收外界参数代码解析相关推荐

  1. python常驻运行_Python常驻任务实现接收外界参数代码解析

    实现一个简单的常驻任务是容易的,写一个while True就可以了,但是同时要能接收外界传来的参数,就稍微有点复杂. 我第一个想到的是网络编程中的server/client模式 server作为常驻进 ...

  2. python中panel不接受参数_Python基础之只接收关键字参数的函数

    当我们希望函数的某些参数强制使用关键字参数时,可以将强制关键字参数放到某个*后面就能得到这种效果.比如: def recv(maxsize, *, block): """ ...

  3. python中可选参数和可变参数_Python函数中的可变长参数详解

    一.Python函数中的参数 1.使用python的函数时,有参数类别,比如位置参数.关键字参数.可变长参数 2.位置参数.关键字参数很好理解,关键是可变长参数经常能见到,但是一直没有搞懂是什么意思 ...

  4. python 处理url 参数_Python 优雅的处理网页URL参数

    一:前言 以前年少无知,不知道Python 官方模块里面有处理 URL的,拿起正则一顿匹配,所以在匹配url里面的页面的时候出现了问题.同时也怪我测试环境是Python3 线上生产环境是Python ...

  5. python一个函数可以有参数也可以没有参数_Python:有和没有关键字参数的lambda函数行为?...

    我正在使用lambda函数进行tkinter的GUI编程. 最近我在实现打开文件的按钮时遇到困难: self.file="" button = Button(conf_f, tex ...

  6. python可以用来开发前端吗_python能开发前端吗

    Python可以开发前端. python是可以开发网页的,比如Django和Flask等基于Python的Web框架最近在Web开发中非常流行.这些Web框架可以帮助你用Python编写服务器端代码( ...

  7. python数组做参数_python完成数组格式的请求参数的加密计算

    #输入 '''order_id:31489 join_course[0][join_tel]:13130999882 join_course[0][join_name]:任学雨 join_course ...

  8. python plot方法的使用_Python bokeh.plotting.figure.step()用法及代码示例

    Bokeh是Python中的数据可视化库,可提供高性能的交互式图表和绘图,并且可以通过笔记本,html和服务器等各种介质获取输出. Figure类创建一个新的Figure进行绘制.它是Plot的子类, ...

  9. ajax前端传数组后端接收,前端AJAX传递数组给Springmvc接收处理

    前端传递数组后端(Spring)来接收并处理: 测试页面 function ccc() { var btn = document.getElementById("btn"); $. ...

最新文章

  1. redis stream持久化_Beetlex.Redis之Stream功能详解
  2. 带桭字的名字_男孩带官运大气的名字有气魄有能力-可爱点
  3. 用友发布新一代价值分析型eHR软件
  4. ssis 表达式任务_SSIS表达式任务与将变量作为表达式求值
  5. 基于XML操作辅助类
  6. 用Android模拟器也可以开发和测试NFC应用
  7. 今日,寒露。读王羲之与陶渊明的魏晋风流。 文/光剑
  8. Python实现LBP算法
  9. 网络协议抓包分析实例
  10. AMD显卡超频显示器方法
  11. 实对称矩阵必可正交相似对角化
  12. 计算机自我检测方法,电脑问题的自我检测方法有哪些?
  13. 选股服务器 主站没有响应,通达信软件运行缓慢的解决办法
  14. 巴菲特致股东的一封信:1990年
  15. Android 8.1 DisplayPowerController(三) 亮度调节
  16. 炒鸡酷,IT互联网程序员就业新前景:看极客是怎么靠两个披萨影响世界
  17. 倪光南李开复景鲲等15位产业领袖纵论中国AI现状:价值重估,落地为王
  18. MySQL - java.sql.SQLException: Data truncated for column ‘xx‘ at row 1
  19. centos7配置(nvidia+cuda+cudnn+anaconda+tensorflow)gpu开发环境
  20. 蓝奏网盘带密码文件分享下载链接分析思路

热门文章

  1. SAP ABAP实用技巧介绍系列之 关于View framework处理Before save event的讨论
  2. 如何处理SAP OData错误消息: Invalid parametertype used at function XXXX
  3. SAP Cloud for Customer和SAP S4HANA的Customer - Business partner
  4. 使用SAP云平台的destination消费Internet上的OData service
  5. 声呐图像数据集_MaskedFace-Net 口罩人脸基准数据集,13万+图像数据
  6. python 函数可以作为容器对象的元素_python第十二天, 三元表达式, 函数对象,名称空间与作用域,函数的嵌套定义...
  7. Linux命令工作中常用的总结
  8. php 清除英文字母,计算器清除键的字母是什么
  9. 放大器的传递函数_保证放大器的稳定性什么最重要?反馈电阻一定要选对!
  10. 用Visual Studio 2019 开发stm32,cortex-m3, arm