Python
独一无二的小个性
独一无二,自强不息
展开
-
Python subprocess.Popen子进程管道阻塞
问题产生描述使用子进程处理一个大的日志文件,并对文件进行分析查询,需要等待子进程执行的输出结果,进行下一步处理。出问题的代码# 启用子进程执行外部shell命令def __subprocess(self,cmd): try: # 执行外部shell命令, 输出结果输出管道 p = subprocess.Popen(cmd, shell=True, stdout=s原创 2017-07-20 18:46:40 · 15447 阅读 · 0 评论 -
Windows Notepad++ 开发 Python 配置
这是我在 python 学习过程中,收集整理的一些 notepadd++ 环境配置方法。1、配置制表符 Notepad++ ->”设置”菜单->”首选项”按钮->制表符设置->python->取消默认,勾选转换为空格。 2、配置调试工具Notepad++ ->”运行”菜单->”运行”按钮在弹出的窗口内输入以下命令:cmd /k cd /d "$(CURRENT_DIRECTO原创 2018-01-17 21:12:06 · 587 阅读 · 0 评论 -
python 异或加密字符串
做个简单习题:输入明文给定秘钥,密文还原,按位异或处理。import base64 as b64def xor_encrypt(tips,key): ltips=len(tips) lkey=len(key) secret=[] num=0 for each in tips: if num>=lkey: num原创 2018-01-26 17:02:44 · 10770 阅读 · 1 评论 -
python 获取整点时间戳
根据当前时间戳获得整点时间戳import timeunit = 3600cur_time = int(time.time())hour_stamp = cur_time - ( cur_time % unit )根据当前时间戳获得整天凌晨时间戳unit = 3600 * 24date_stamp = ( cur_time - ( cur_time % unit ) ) ...原创 2018-01-29 11:31:40 · 18666 阅读 · 2 评论 -
python UTC 与 本地时间互转
最近在操作 MongoDB 时候出现了时区转换的问题,导致 Python 的时间对象存到 MongoDB 转成了 UTC 时间的格式,但是使用 Golang 查询时候与本地时间相差了 8 小时,所以这里写出了 Python 的本地时间与 UTC 时间的转换,Golang 的 MongoDB 驱动会自动做这种转换工作,请见我另一篇文章:http://blog.csdn.net/u010649766/...原创 2018-03-01 18:07:56 · 21839 阅读 · 0 评论 -
Python 实现某个功能每隔一段时间被执行一次的功能
本人在做项目的时候遇到一个问题: 某个函数需要在每个小时的 3 分钟时候被执行一次,我希望我 15:45 启动程序,过了18 分钟在 16:03 这个函数被执行一次,下一次过 60 分钟在 17:03 再次被执行,下一次 18:03,以此类推。 以下是我基于 Timer 做的再封装实现了此功能。# -*- coding: utf-8 -*-# ======================...原创 2018-03-05 15:51:30 · 49893 阅读 · 11 评论 -
Python 内置类型 dict, list,线程安全吗?
近段时间发现一个 Python 连接数据库的连接是线程不安全的,结果惹得我哪哪儿都怀疑变量的多线程是否安全的问题,今天终于找到了正确答案,那就是 Python 内置类型 dict,list ,tuple 是线程安全的。请参考官方解释: http://docs.python.org/glossary.html#term-global-interpreter-lock 还有另一篇文章课参考:...原创 2018-03-29 12:40:54 · 22815 阅读 · 4 评论 -
Python 中的 GIL(Global Interpreter Lock) 全局解释器锁是什么?
文章欢迎转载,但转载时请保留本段文字,并置于文章的顶部 作者:卢钧轶(cenalulu) 本文原文地址:http://cenalulu.github.io/python/gil-in-python/GIL是什么GIL并不是Python的特性,它是在实现Python解析器(CPython)时所引入的一个概念。就好比C++是一套语言(语法)标准,但是可以用不同的编译器来...转载 2018-03-29 13:40:48 · 522 阅读 · 0 评论 -
Python 内置类型及其用法
本文讲述了Python内置类型。记录以供学习。具体如下:python内置类型1、list:列表 (即动态数组,C++标准库的vector,但可含不同类型的元素于一个list中) 代码如下:a = ["I","you","he","she"] #元素可为任何类型。1下标:按下标读写,就当作数组处理 以0开始,有负下标的使用 0第一个元素,-1最后一个元素...转载 2018-03-29 13:50:42 · 921 阅读 · 0 评论 -
Python 实现异步调用函数
async_call.py#coding:utf-8from threading import Threaddef async_call(fn): def wrapper(*args, **kwargs): Thread(target=fn, args=args, kwargs=kwargs).start() return wrappertest.p...原创 2018-06-14 14:07:37 · 14162 阅读 · 0 评论 -
Python Threading 实现简单的异步
本文是用消息队列配合辅助线程完成异步功能。 队列传输可以是任何数据类型,可以灵活使用。import queueimport threadingQ = queue.Queue()def send( msg ): Q.put( msg )def recv(): while True: msg = Q.get() print( "r原创 2018-01-17 18:03:29 · 3785 阅读 · 0 评论 -
Ubuntu 安装 MongoDB( 含 pymongo 连接封装代码 )
Ubuntu 安装 MongoDB( 含 pymongo 连接封装代码 )1 环境准备下载: https://www.mongodb.com/download-center#communitytar -zxvf mongodb-linux-x86_64-ubuntu1404-3.4.10.tgzsudo mv mongodb-linux-x86_64-ubuntu1404-3.4.10 /usr/原创 2017-11-28 12:50:30 · 1667 阅读 · 0 评论 -
Linux下python包管理总结
Linux下python包管理总结version: 0.01Editor: 刘家兴查看当前python支持的模块:pydoc modules安装pipsudo apt-get install python3-pipsudo apt-get install python-pip指定pip执行路径 vi /usr/bin/pip vi /usr/bin/pip2 vi /usr/bin/p原创 2017-07-20 10:38:29 · 2994 阅读 · 0 评论 -
12步搞定python装饰器
搞定装饰器需要你了解一些函数式编程的概念,当然还有理解在python中定义和调用函数相关语法的一些特点。我没法让装饰器变得简单,但是通过一步步的剖析,我也许能够让你在理解装饰器的时候更自信一点。因为装饰器很复杂,这篇文章将会很长(自己都说很长,还敢这么多废话blablabla前戏就不继续翻译直接省略了)1. 函数在python中,函数通过def关键字、函数名和可选的参数列表定义。通过return关键转载 2017-07-28 10:42:43 · 558 阅读 · 0 评论 -
检查文件是否存在于远程服务器上
检查文件是否存在于远程服务器上本文描述的方法是使用 ssh 访问远程主机。首先需要启用无密码的 ssh 登录到远程主机, 这样您的脚本可以在非交互式的批处理模式访问远程主机。您还需要确保 ssh 登录文件有读权限。使用bash判断文件是否存在于远程服务器上#!/bin/bash ssh_host="owen@remote_machine" file="/data/log/my_test.txt原创 2017-11-07 10:51:53 · 7116 阅读 · 0 评论 -
MongoDB 测试 Python 代码
随机数查询测试 MongoDB 的 Python 代码写库程序#!/usr/bin/env pythonfrom pymongo import Connectionimport timeimport datetimeconnection = Connection('127.0.0.1', 27017)db = connection['hawaii']#时间记录器def func_time(f原创 2017-11-07 14:32:09 · 684 阅读 · 0 评论 -
Python 文件操作常用操作
Python 中,文件操作主要方法如下:import osos.listdir(dirname) # 列出 dirname 下的目录和文件os.getcwd() # 获得当前工作目录os.curdir # 返回当前目录('.')os.chdir(dirname) # 改变工作目录到 dirnameos.path.isdir(name) # 判断 name 是不是一个目录,name 不是目录就原创 2017-11-18 14:58:05 · 644 阅读 · 0 评论 -
Python 中两个字典(dict)合并
Python 中两个字典(dict)合并dict1 = { "name":"owen", "age": 18 }dict2 = { "birthday": "1999-11-22", "height": 180 }合并两个字典得到:{ "name":"owen", "age": 18, "birthday": "1999-11-22", "height": 180 }方法1:dictMerged1原创 2017-11-29 09:41:03 · 56243 阅读 · 7 评论 -
pymongo 查询排序操作(参数与函数调用查询对比)
官方文档中,find 函数中的说明表明,在 find 中传参应该和 cursor 后面调用 sort 函数一样find(filter=None, projection=None, skip=0, limit=0, no_cursor_timeout=False, cursor_type=CursorType.NON_TAILABLE, sort=None, allow_partial_results原创 2017-11-30 15:39:10 · 11272 阅读 · 0 评论 -
Python2 与 Python3 RSA 无填充加解密方式比较
Python2 与 Python3 RSA 无填充加解密方式比较在对固定长度字符串做加密的时候,我们由于知道字符串的长度范围,所以会用到 no padding 的加密方式。Python2 的 M2Crypto 的 RSA 加密使用比较稳定,而且不同的填充方式用起来也比较统一。而 Python3 的 RSA 加密模块比较多,而且使用起来不太统一, 而在 no padding 的支持上也比较难找,主流的原创 2017-11-22 19:24:26 · 2957 阅读 · 6 评论 -
python 实现十六进制数字符串的取模
python 实现十六进制数字符串的取模由于字符串可能很长,所以整体转为十进制会有溢出问题存在。 所以使用从高位到地位逐个取模的方法:def getHexStrMode( hex_str, mode_num ): str_len = len( hex_str ) result_mod = 0 for idx, ch in enumerate( hex_str ):原创 2017-12-11 15:59:10 · 3344 阅读 · 0 评论 -
Python 安装 tensorflow 国内源
sudo python3.5 -m pip --default-timeout=1000 install --index-url https://mirrors.aliyun.com/pypi/simple tensorflow --ignore-installed six或者--index-url https://pypi.douban.com/simple或者--ind...原创 2018-07-20 11:09:11 · 3946 阅读 · 0 评论