python3

python3 报错 [Errno 5] Input/output error 没有stdout时使用了print

[亡魂溺海] 提交于 2020-01-22 10:59:44
过程描述 刚不久用 Tornado 写了一个项目,本打算部署在 Nginx 上,但是因为公司的一些原因就没有使用 Nginx,直接在命令行中启动 当我从命令行以后台的方式启动以后,是可以正常访问的 python start.py & 但是,当我关闭远程 ssh 连接后,程序就出问题了,程序没有任何反应,但是进程却好好的待在进程池中等待 CPU 的召唤。通过 try 捕获到了异常 [Errno 5] Input/output error 后经过排查找到了问题,这是因为我在程序中有 print 语句,当我把远程 ssh 退出后,就相当于把它的 shell 关闭了,没有了 shell 的进程 print 就没有地方输出字符,不能“写”到屏幕上了,所以就会报一个 I/O 错误 解决方案 不使用命令行的方式启动,将程序放入 crontab 中定时启动 注释或删除程序中有 print 语句的地方 使用 nohup 运行命令,可以使命令永久的执行下去,和用户终端没有关系,断开SSH连接都不会影响程序的运行 来源: CSDN 作者: whatday 链接: https://blog.csdn.net/whatday/article/details/104067430

字典生成工具 -- pydictor

被刻印的时光 ゝ 提交于 2020-01-22 09:41:06
前天我的右腿撞到了石头,当时觉得疼了一阵就没事了,今天才发现那一块已经青紫,人生很多事情都要延迟很久很久才感觉到疼,你能想象么,也许等你四十多岁的某个夏夜,开车回家在某个路口等红绿灯的时候,你突然反应过来,十九岁的时候那个人说的那句话,原来是这个意思,而这个时候,你已经过完了小半生。。。 今天给大家介绍一款字典生成工具:pydictor 一、环境 kali2019.4 python3 二、安装过程: 复制到本地安装包 git clone https://github.com/LandGrey/pydictor.git 三、用法 1、python3 pydictor.py -base L --len 2 3 --encode b64 -base L 类型为小写字母 –len 2 3 2-3个字母 –encode b64 加密方式base64 2、字典去重 python3 pydictor.py -tool uniqifer 1.txt --output 2.txt 去重后的对比 禁止非法,后果自负 欢迎大家关注公众号:web安全工具库 来源: CSDN 作者: web安全工具库 链接: https://blog.csdn.net/weixin_41489908/article/details/104046080

Python基础知识点总结【面试必学】

蓝咒 提交于 2020-01-22 08:18:29
手写一个完整的装饰器模版: ps:另外很多人在学习Python的过程中,往往因为没有好的教程或者没人指导从而导致自己容易放弃,为此我建了个Python交流.裙 :一久武其而而流一思(数字的谐音)转换下可以找到了,里面有最新Python教程项目可拿,不懂的问题多跟里面的人交流,都会解决哦! 接下来继续: # 用于修复被装饰对象的名称空间 from functools import wrape def wrapper(func): @wraps(func) def inner(*args, **kwargs): # func执行之前的操作 res = func(*args, **kwargs) # func执行之后的操作 return res return inner 简述面向对象三大特性及各自特点 ''' 封装:将属性和方法放在类的内部,通过类的实例化出对象,用对象访问属性或方法,隐藏功能的实现细节,可设置访问权限 好处:提高了代码的复用性,安全性,降低代码的冗余度 继承:实现代码的重用,也可以理解为让类与类之间建立父子关系,使子类拥有父类的属性和方法,并可衍生出自己独有的属性和方法。需要注意的是,在python中存在多继承,这是其他编程语言没有的一个特性 好处:减少代码的重用,提高代码的可读性,规范编程模式 多态:同一个方法,不同对象调用,实现的功能不一样

python3 socket 超时设置

情到浓时终转凉″ 提交于 2020-01-22 02:41:47
针对链接(connect)时候的超时: # 法一: import socket socket.setdefaulttimeout(5) sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect((host, port)) sock.sendall('xxx') sock.recv(1024) sock.close() ''' 20160716 update socket.setdefaulttimeout(5) 此句必须放到建立链接的前面,否则超时设置无效果 ''' # 法二: import socket sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.settimeout(5) sock.connect((host, port)) # 恢复默认超时设置,设置某些情况下socket进入阻塞模式(如makefile) sock.settimeout(None) sock.connect((host, port)) sock.sendall('xxx') sock.recv(1024) sock.close() 针对接收(recv)数据时的超时: # 法一: import socket socket

字符串_月隐学python第7课

六眼飞鱼酱① 提交于 2020-01-22 00:19:42
一、字符串 字符串就是由若干个不同的unicode字符组成的不可变序列 1 .字符串创建 2.获取字符 因为是不可变序列,所以不能修改单个字符; 凡是修改字符串的操作都产生新串 3.字符串转义 常⻅转义字符 原生字符 如果在字符串中不把\当做转移字符,可以使⽤ 4.序列通⽤操作 4 字符串常用函数 4.1 字符串查找和替换 str1 = 'a fox jumped over the fence' 4.2 字符串分隔和组合 4.3 字符串判断 4. 4字符串转换 4.5 其它方法 5. 字符串格式化 用%格式化 用format格式化 ⼆、字节 在python3中最重要的特性是对文本和⼆进制数据做了更加清晰的区分,⽂本总是Unicode,由字符类型表示,⽽二进制数据则由byte类型表示, python3不会以任意隐式⽅式混用字节型和字符型,也因此在python3中不能拼接字符串和字节包(python2中可以,会自动进行转换),也不能在字节包中搜索字符串,也不能将字符串传⼊参数为字节包的函数。Bytes 对象是由单个字节作为基本元素(8位,取值范围 0-255)组成的序列,为不可变对象。 bytes对象只负责以二进制字节序列的形式记录所需记录的对象,⾄于该对象到底表示什么(⽐如到底是什么字符)则由相应的编码格式解码所决定。Python3中, bytes通常用于⽹络数据传输、⼆进制图片和

Windows 10 +Anaconda+tensorflow+cuda8.0 环境配置

两盒软妹~` 提交于 2020-01-21 23:13:11
tensorflow要求python3.5版本,anaconda2(python2.7)和3(python3.6)都需要额外安装3.5。因为已经装了anaconda2,本教程就用2好啦。 1. 安装Anaconda 官网地址: https://www.continuum.io/downloads 下载完毕后打开安装包,一步一步安装就可以了。 注意安装之后需要把相关路径加入环境变量: D:\Anaconda2 D:\Anaconda2\Scripts D:\Anaconda2\Library\bin123 2. CUDA 8.0 1. 下载cuda8.0: 官网地址:https://developer.nvidia.com/cuda-downloads 百度云:下载cuda_8.0.61_win10.exe 2. 安装cuda8.0: 双击cuda_8.0.61_win10.exe直接进行安装即可,默认安装到C:\ProgramFiles\NVIDIA GPU Computing Toolkit目录下; 3. 验证cuda8.0已正确安装: 在cmd命令行输入: nvcc -V1 安装完之后系统变量会自动添加上。 3. cuDNN 5.1 官网下载(需登录) :https://developer.nvidia.com/rdp/cudnn-download 百度云:下载cudnn-8

python3从lrc歌词网(https://www.90lrc.cn)爬取歌词并制作成lrc文件

[亡魂溺海] 提交于 2020-01-21 21:31:55
# -*- coding:utf-8 -*- import requests import json import re from bs4 import BeautifulSoup import re import os from urllib import parse support_format = ["mp3", "wav", 'ape'] songDict = {} lrc_list = [] singerDict = {} songUrlMap = {} page_list=[] g_find_num=0 def get_song_info(song_dir, lrc_dir): ''' 获取指定目录dir下的歌曲文件名称(格式为 歌手 - 歌曲名称.mp3),将歌曲名成保存为列表形式,在生成歌词文件时使用,同时生成一个{歌手:[歌曲名1,歌曲名2]} 的一个map. ''' #获取文件名 song_files = os.listdir(song_dir) lrc_files = os.listdir(lrc_dir) #待爬取的歌曲信息 songDict = {} # songDict{songName:fileName} singerDict = {} # singerDict{singer: [songName]} for lrc_file in lrc_files

Python3 内置函数大全

一曲冷凌霜 提交于 2020-01-21 04:39:56
平常在使用Python的过程中,难免会需要用到各种内置函数或者自己写的函数,掌握内置函数能够帮助我们更好地进行开发,下面就介绍一下Python3的内置函数 1.abs() 绝对值或复数的模 示例 print ( abs ( - 17 ) ) 运行结果 17 ================================================================================= 2.all() 接受一个迭代器,如果迭代器的所有元素都为真,那么返回True,否则返回False 示例 print ( all ( [ 1 , 2 , 3 , 4 , 5 ] ) ) print ( all ( [ 0 , 1 , 2 , 3 , 4 ] ) ) 运行结果 True True ================================================================================= 3.all() 接受一个迭代器,如果迭代器里有一个元素为真,那么返回True,否则返回False 示例 print ( any ( [ 0 , 0 , 0 , 1 ] ) ) print ( any ( [ 0 , 0 , 0 , 0 ] ) ) 运行结果 True False ====================

Ubuntu16.04安装tensorflow

我是研究僧i 提交于 2020-01-21 03:39:13
Ubuntu16.04安装tensorflow(cpu) 1.去官网查看需要按安装的版本 各个版本安装教程 python2.7安装cpu: export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.1.0-cp27-none-linux_x86_64.whl 版本号自己按需更改 sudo pip install $TF_BINARY_URL 2.出现ERROR: tensorflow-0.8.0-cp27-none-linux_x86_64.whl is not a supported wheel on this platform. 问题 原因1: 默认的pip版本与python版本不匹配,比如python默认python2.7,pip却对应了python3.7 解决办法1:安装Tensorflow时,安装python2.7的tensorflow就把pip改为pip2,安装python3,7版本的,就改安装命令pip为pip3 解决如下 原因2:系统或python版本位数不对,32位,tensorflow不支持,办法自己找(因为我是原因1) 测试 输出成功。建议把pip指向python3,我这里安装tensorflowpython2,7是学习需要

[Python3]初识人脸识别

别说谁变了你拦得住时间么 提交于 2020-01-20 21:54:26
昨天在我的iMac上配置opencv,IDE用的pycharm(在学校最大的好处就是可以免费使用idea的诸多产品,就是需要每年做一次认证,真香) 为什么是CV2 看到很多前辈写的代码里面总是写的什么cv2,找了半天才发现应该是需要安装opencv-python,为什么导入的是cv2呢? 实际上,”cv2”中的”2”并不表示OpenCV的版本号,还有一个是cv,这里的cv和cv2代表的是底层C API和C++ API的区别,cv2表示使用C++ API,这是一个历史遗留问题。 其实安装opencv还是蛮简单的,直接在Pycharm->Preferences->Project->Interpreter里面点加号,搜索“opencv-python”进行安装。 没有遇到很多人说的出现“Error: No module named cv2”,我的python版本是3.8,安装的opencv版本是4.1.2.30。 Pycharm下opencv竟然无法正常开启摄像头? 好好的一段代码运行以后显示 没错,这就结束了,弄得我百思不得其姐姐。现在还是没有弄明白。 尝试直接从terminal直接运行,还是不行,这块应该是Mac OS的权限问题。 系统偏好设置->安全性与隐私->摄像头,把终端勾选上 再次运行,伴随着iMac摄像头旁边的小绿灯亮起 这就成了! 人脸识别face recognition