python3

【Python3之socket编程】

末鹿安然 提交于 2019-12-17 21:50:06
一、socket的定义   Socket是应用层与 TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中, Socket其实就是一个门面模式,它把复杂的 TCP/IP协议族隐藏在 Socket接口后面,对用户来说,一组简单的接口就是全部,让 Socket去组织数据,以符合指定的协议。 所以,我们无需深入理解tcp/udp协议,socket已经为我们封装好了,我们只需要遵循socket的规定去编程,写出的程序自然就是遵循tcp/udp标准的。 补充:也有人将socket说成ip+port,ip是用来标识互联网中的一台主机的位置,而port是用来标识这台机器上的一个应用程序,ip地址是配置到网卡上的,而port是应用程序开启的,ip与port的绑定就标识了互联网中独一无二的一个应用程序,而程序的pid是同一台机器上不同进程或者线程的标识 二、套接字发展史及分类   套接字起源于 20 世纪 70 年代加利福尼亚大学伯克利分校版本的 Unix,即人们所说的 BSD Unix。 因此,有时人们也把套接字称为“伯克利套接字”或“BSD 套接字”。一开始,套接字被设计用在同 一台主机上多个应用程序之间的通讯。这也被称进程间通讯,或 IPC。套接字有两种(或者称为有两个种族),分别是基于文件型的和基于网络型的。 基于文件类型的套接字家族 套接字家族的名字:AF_UNIX

【解决错误】ValueError: axes don't match array

大城市里の小女人 提交于 2019-12-17 19:06:52
Original Traceback (most recent call last): File "/home/cody/anaconda3/envs/pytorch/lib/python3.6/site-packages/torch/utils/data/_utils/worker.py", line 178, in _worker_loop data = fetcher.fetch(index) File "/home/cody/anaconda3/envs/pytorch/lib/python3.6/site-packages/torch/utils/data/_utils/fetch.py", line 44, in fetch data = [self.dataset[idx] for idx in possibly_batched_index] File "/home/cody/anaconda3/envs/pytorch/lib/python3.6/site-packages/torch/utils/data/_utils/fetch.py", line 44, in <listcomp> data = [self.dataset[idx] for idx in possibly_batched_index] File "/home/cody/anaconda3

python3的多继承问题

我怕爱的太早我们不能终老 提交于 2019-12-17 19:02:36
#在Python的多继承中,如果子类继承的多个父类中包含了同名的方法,子类在调用时会选择哪个 class Item : def info (self): print("Item中的方法","这是一个商品") class Product: def info(self): print("Product中的方法" , "这是一个工业产品") class Mouse(Item, Product): pass m = Mouse() m.info() 输出: Item中的方法,这是一个商品 class Item : def info (self): print("Item中的方法","这是一个商品") class Product: def info(self): print("Product中的方法" , "这是一个工业产品") class Mouse(Product, Item): pass m = Mouse() m.info() 输出: Product中的方法 这是一个工业产品 总结: 可见多继承中,父类有同名方法,子类在调用时会选择继承中排在前面的父类方法 拓展: 如果子类也包含同名方法,子类调用同名方法,优先选择自己的方法,这叫做重写,也叫覆盖override class Item : def info (self): print("Item中的方法","这是一个商品")

Python3之--字典(dict)操作

走远了吗. 提交于 2019-12-17 18:11:20
1.定义 字典的关键字:dict 字典由多个键和其对应的值构成的 键—值 对组成,每个键值 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中。 {key1:value1,key2:value2,key3:value3} 在一个字典中:   key的值是固定不变的,可以是字符串、数字、布尔值、元组。且key的值必须要唯一。   value的值可以是任意类型。   字典中的键值对是无序的,不存在索引概念。 例如:my_info = {"name":"测试小白", "sex":"male", "city":"杭州", "hobby":"旅游"} 2.字典的查询 读取字典当中的数据。根据key来读取值 语法:字典变量名[key] 例如: my_info = {"name":"测试小白", "sex":"male", "city":"杭州", "hobby":"旅游"} hobby = my_info["hobby"] print(hobby) 结果: 旅游 3.字典的新增 如果要为 dict 添加 key-value 对,只需为不存在的 key 赋值即可。 语法:字典变量名[新的key] = new_value my_info = {"name":"测试小白", "sex":"male", "city":"杭州", "hobby":"旅游"} my

centos7 python2和python3 共存

三世轮回 提交于 2019-12-17 10:22:25
1、分别安装anaconda2 和anaconda3,安装路径选择/root/anaconda2 和 /root/anaconda3 2、安装完成后,修改~/.bashrc文件,分别添加anaconda2、3的bin目录到PATH中,举例: export PATH = "/home/anaconda2/bin: $PATH " export PATH = "/home/anaconda3py36/bin: $PATH " 3、重开一个terminal终端,python2和python3是共存的。 附: 查看conda环境 如果python3是安装在/root/anaconda2/envs/anaconda3 下,则运行 conda info --envs 可以显示 # conda environments: # root * / home / anaconda2 py36 / home / anaconda2 / envs / anaconda3 如果不是安装在此位置,应该只有一个默认环境。 两个环境切换 激活和取消激活的方法: 激活:source activate py36 取消激活:source deactivate py36 来源: CSDN 作者: Omghhhhhh 链接: https://blog.csdn.net/coco_link/article/details

Python3虚拟环境安装:virtualenv、virtualenvwralpper

孤者浪人 提交于 2019-12-17 05:36:46
一:通过pip3(因python2和3共存,前文修改过pip3软连接,pip3可以安装到python3)安装virtualenv,pip3 install virtuale 二:建立虚拟环境文件目录 mkdir /usr/local/venv               cd /usr/local/venv 三:centos中设置环境变量!   临时添加环境变量:  export PATH=$PATH:/usr/local/python3/bin   当前用户添加环境变量:vi ~/.bash_profile 在PATH=$PATH:$HOME/bin后添加,用“:”冒号隔开              PATH=$PATH:$HOME/bin:/usr/local/python3/bin   所有用户添加环境变量:vi /etc/profile  在文件结尾加              export PATH=$PATH:/usr/local/python3/bin              然后运行文件source /etc/profile   virtualenv --version查看安装情况 四:进入虚拟环境文件目录    cd /usr/local/venv   建立虚拟环境项目:    virtualenv 虚拟环境项目名   建立指定版本虚拟环境项目

django配置*app*登录案例*orm简用

蓝咒 提交于 2019-12-17 05:20:03
1.静态文件的配置和使用 1.静态文件的配置和使用 没有css样式: 添加样式 结果: <html lang="en"> <head> <meta charset="utf-8"> <title>Signin Template for Bootstrap</title> <!-- Bootstrap core CSS --> <link href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"> <!-- IE10 viewport hack for Surface/desktop Windows 8 bug --> <link href="../../assets/css/ie10-viewport-bug-workaround.css" rel="stylesheet"> <!-- Custom styles for this template --> <link href="signin.css" rel="stylesheet"> <!-- Just for debugging purposes. Don't actually copy these 2 lines! --> <!--[if lt IE 9]><script src="../../assets

linux虚拟环境搭建

喜欢而已 提交于 2019-12-17 04:54:38
一、virtualenv的安装与使用 1、安装virtualenv pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv 如果想查看安装位置 2、创建虚拟环境 virtualenv --no-site-packages --python=python3 venv#创造无第三方包的干净环境,并且指定解释器是python3 3、激活虚拟环境 source venv/bin/activate#进入虚拟环境 4、退出虚拟环境 deactivate 二、virtualenvwrapper的安装与使用 virtualenv能够创造独立的环境,但是它有一个很大的缺点,就是必须知道的摸个虚拟环境的目录,因为打开虚拟环境是用source+虚拟环境下bin目录的activate命令进行激活,这是相当费事的,由此引入virtualenvwrapper,统一管理虚拟环境目录,无需source命令。 1、安装 pip3 install virtualenvwrapper 2、设置环境变量 在每次启动时就自动加载virtualenvwrapper (1)打开家目录下的.bashrc 文件 (2)写入以下内容 export WORKON_HOME=~/Envs #设置virtualenv的统一管理目录 export

Centos7安装python3

孤街浪徒 提交于 2019-12-17 04:20:49
CentOS7 中默认安装的 python 是 2.75 的,如果想要使用 python3 ,那么还需要安装 python3 第一步:更换 yum 的源,更换为国内的阿里云 , 这是为了方便安装 python3 的依赖 备份一下原本的yum源: mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 下载阿里云的yum源【我下的是CentOS7的,如果需要其他版本,那么只需要将下面的7改成5或6即可】【这一步需要能联网】: wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 之后运行给install生成缓存 yum makecache 第二步:直接通过 yum 来安装 python3 下载python3【我下的是3.6.2】: wget "https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz" 解压压缩包: tar -zxvf Python-3.6.2.tgz -C /tmp 进入目录: cd /tmp/Python-3.6.2/ 安装python3的依赖: yum -y groupinstall

python3 获取当前日期的时间戳,以及n天后的日期时间戳

放肆的年华 提交于 2019-12-17 01:56:48
#coding=utf-8 import time import datetime t=datetime.datetime.now() #当前日期 t1 =t.strftime('%Y-%m-%d 00:00:00') #转为秒级时间戳 start_time=time.mktime(time.strptime(t1, '%Y-%m-%d %H:%M:%S')) #转为毫秒级 print(str(start_time*1000).split(".")[0]) #30天后 t2=(t+datetime.timedelta(days=30)).strftime("%Y-%m-%d 00:00:00") #转为秒级时间戳 end_time=time.mktime(time.strptime(t2, '%Y-%m-%d %H:%M:%S')) #转为毫秒级 print(str(end_time*1000).split(".")[0]) 输出 localhost:Desktop macname$ python3 test_time.py 1575561600000 1578153600000 参考: https://www.cnblogs.com/strivepy/p/10436213.html https://www.cnblogs.com/jfl-xx/p/8024596.html