Python 3学习 ——Python 多进程与编码

Python 学习——Python 编码

写此博客 是为了激励自己,并且将自己的心得以及遇到的问题与人分享

一、进程

  1.概述

  multiprocessing 包是 Python 中的多进程管理包。与 thread.Threading 类似,可以利用 multiprocessing 对象来创建一个进程。该 Processing 对象与 Thread 对象的用法相同,也有 start() run() join() 的方法。具体使用看下面代码实现。使用这些 API 的时候有如下几点注意事项:

  •   十分有必要对每个 Process 对象调用 join() 方法,阻止进程成为僵尸进程的一个手段。在多线程中由于只有一个进程,所以不需要采用这种手段。
  •   两个进程之间不能够共享数据,如果想共享数据要有一个第三方来对两者进行沟通共享。优先使用 Pipe 和 Queue ,避免使用 Lock / Event / Semaphone / Condition 等同步方式。  
  •   Windows 系统下,要想启动一个子进程,必须加上 If __name__ == "__main__": ,进程相关的要写在这句下面。

 1 #author:"LFD"
 2 #date: 2018/6/8
 3 from multiprocessing import Process
 4 import time
 5
 6 def f(name):
 7     time.sleep(1)
 8     print(‘hello‘,name,time.ctime())
 9
10 if __name__ == "__main__":
11     p_list = []
12     for i in range(3):
13         p = Process(target=f,args=(‘liufeiduo‘,))    # 创建进程
14         p_list.append(p)
15         p.start()
16     for p in p_list:
17         p.join()
18
19     print(‘jincheng end!‘)
20
21 ‘‘‘ # 运行结果:
22 hello liufeiduo Fri Jun  8 11:15:46 2018
23 hello liufeiduo Fri Jun  8 11:15:46 2018
24 hello liufeiduo Fri Jun  8 11:15:46 2018
25 jincheng end!
26 ‘‘‘

creat jincheng_1

上面是通过方法实现多进程;

下面是通过调用类实现多进程;

 1 from multiprocessing import Process
 2 import time
 3
 4 class MyProcess(Process):
 5     def __init__(self,name):
 6         super(MyProcess,self).__init__()
 7         self.name = name
 8     def run(self):
 9         time.sleep(1)
10         print(‘hello‘,self.name,time.ctime())
11
12 if __name__ == ‘__main__‘:
13     p_list = []
14     for i in range(3):
15         p = MyProcess(‘liufeiduo‘)
16         p.start()
17         p_list.append(p)
18
19     for p in p_list:
20         p.join()
21
22     print(‘end‘)

creat jincheng_2

  2.进程关系

 1 from multiprocessing import Process
 2 import os,time
 3
 4 def info(title):
 5     print(title)
 6     print(‘module name:‘,__name__)
 7     print(‘parent process:‘,os.getppid())
 8     print(‘process id:‘,os.getpid())
 9
10 def f(name):
11     pass
12
13 if __name__ == ‘__main__‘:
14     info(‘\033[32;1mmain process line\033[0m‘)
15     time.sleep(5)
16     p = Process(target=info,args=(‘bob‘,))
17     p.start()
18     p.join()
19
20
21
22 ‘‘‘ 运行结果:
23 main process line
24 module name: __main__
25 parent process: 7708     7708 是Pycharm 在电脑上分得的进程ID
26 process id: 13972
27 bob
28 module name: __mp_main__
29 parent process: 13972
30 process id: 6024
31
32 ‘‘‘

jincheng relationship

二、Python2 和 Python3 的编码

  编码:基本概念很简单。首先,我们从一段信息即消息说起,消息以人类可以理解、易懂的表示存在。我打算将这种表示称为“明

文”(plain text)。对于说英语的人,纸张上打印的或屏幕上显示的英文单词都算作明文。

其次,我们需要能将明文表示的消息转成另外某种表示,我们还需要能将编码文本转回成明文。从明文到编码文本的转换称为“编码”,从编码

文本又转回成明文则为“解码”。

原文地址:https://www.cnblogs.com/jinzejun/p/9128782.html

时间: 2024-08-29 11:39:09

Python 3学习 ——Python 多进程与编码的相关文章

你真的不学Python吗?学习Python的四大理由!

在众多人的脑海中,Python无非就是一门编程语言而已,并没有什么特色,但是提及学习编程大部分人都会推荐Python,为什么?今天就给你说说学习Python的四大理由吧. 首先先来了解一下什么是Python?Python是一个高层次的结合了解解释性.编译性以及互动性.面向对象的脚本语言.重点是,Python对于初学者们来说是非常友好的,从应用程序开发到文字处理,web开发都提供支持. 为什么建议大家学习Python呢?其实原因很简单: 1.人才市场需求量大:根据相关数据显示,到2018年年底,我

python语言学习8——字符串和编码

Unicode编码 计算机只能处理数字,如果要处理文本,就必须把文本转化为数字才能处理 有许多编码标准,但是不同的编码标准有时候会混乱,所以Unicode应运而生 Unicode把所有语言统一到一套编码里,这样就不会再有乱码问题 ASCII编码和Unicode编码的区别: ASCII编码是1个字节,而Unicode编码通常是2个字节. 字母A用ASCII编码是十进制的65,二进制的01000001: 字符0用ASCII编码是十进制的48,二进制的00110000,注意字符'0'和整数0是不同的:

Python基础学习-Python中最常见括号()、[]、{}的区别

Python中最常见括号的区别: 在Python语言中最常见的括号有三种,分别是:小括号().中括号[].花括号{}:其作用也不相同,分别用来代表不同的Python基本内置数据类型. Python中的小括号(): 代表tuple元祖数据类型,元祖是一种不可变序列.创建方法很简单,大多数时候都是小括号括起来的. 1 >>> tup = (1,2,3) 2 >>> tup 3 (1, 2, 3) 4 >>> () #空元祖 5 () 6 >>&

学习Python最好的途径——激发自己的学习兴趣!

Python是当下国内最为火爆的编程语言,没有之一! Python加入计算机等级考试,且即将加入考高,甚至于有小学都开始教授Python! 学习Python最好的途径--激发自己的学习兴趣!Python 的概念"人生苦短,我用Python".这句戏言真实反映了Python语言的江湖地位.那么,要快速上手和进阶Python编程,有什么好途径呢?我推荐游戏开发.创一个小群,供大家学习交流聊天如果有对学python方面有什么疑惑问题的,或者有什么想说的想聊的大家可以一起交流学习一起进步呀.也

Python爬虫学习路线,强烈建议收藏这十一条

(一)如何学习Python 学习Python大致可以分为以下几个阶段: 1.刚上手的时候肯定是先过一遍Python最基本的知识,比如说:变量.数据结构.语法等,基础过的很快,基本上1~2周时间就能过完了,我当时是在这儿看的基础:Python 简介 | 菜鸟教程 2.看完基础后,就是做一些小项目巩固基础,比方说:做一个终端计算器,如果实在找不到什么练手项目,可以在 Codecademy - learn to code, interactively, for free 上面进行练习. 如果时间充裕的

Python基础学习笔记

Python 特点 1.易于学习:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单. 2.易于阅读:Python代码定义的更清晰. 3.易于维护:Python的成功在于它的源代码是相当容易维护的. 4.一个广泛的标准库:Python的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好. 5.互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断. 6.可移植:基于其开放源代码的特性,Py

几条学习python的建议

熟悉python语言, 以及学会python的编码方式. 熟悉python库, 遇到开发任务的时候知道如何去找对应的模块. 知道如何查找和获取第三方的python库, 以应付开发任务. 学习步骤 安装开发环境 如果你在window下, 去下载pythonxy安装起来, 然后运行python, 进入python解释环境. 如果你在ubuntu下, 执行: sudo apt-get install python, 然后在命令行下运行python, 进入python解释环境. 学习方法 作为一名成熟的

Python爬虫学习系列教程

Python爬虫学习系列教程 大家好哈,我呢最近在学习Python爬虫,感觉非常有意思,真的让生活可以方便很多.学习过程中我把一些学习的笔记总结下来,还记录了一些自己实际写的一些小爬虫,在这里跟大家一同分享,希望对Python爬虫感兴趣的童鞋有帮助,如果有机会期待与大家的交流. Python版本:2.7 一.爬虫入门 1. Python爬虫入门一之综述 2. Python爬虫入门二之爬虫基础了解 3. Python爬虫入门三之Urllib库的基本使用 4. Python爬虫入门四之Urllib库

60分钟Python快速学习(转)

60分钟Python快速学习(给发哥一个交代) 阅读目录 第一步:开发环境搭建: 第一个Python功能:初识Python 02.Python中定义变量不需要数据类型 03.在Pythod中定义方法 04.在Python中书写自己的类 60分钟Python快速学习 之前和同事谈到Python,每次下班后跑步都是在听他说,例如Python属于“胶水语言啦”,属于“解释型语言啦!”,是“面向对象的语言啦!”,另外没有数据类型,逻辑全靠空格缩进表示等. 今天自己用了60分钟快速学习了下Python的语