作者:HelloGitHub-ProdesireHelloGitHub的《讲解开源项目》系列,项目地址:https://github.com/HelloGitHub-Team/Article前言在前面三篇介绍argparse的文章中,我们全面了解了argparse的能力,相信不少小伙伴们都已经摩拳擦掌,想要打造一个属于自己的命令行工具。本文将以我们日常工作中最常见的git命令为例,讲解如何使用argparse库来实现一个真正可用的命令行程序。本系列文章默认
系统 2019-09-27 17:52:35 2050
Python语言与Perl,C和Java等语言有许多相似之处,也有一定的差异性,以下是Python语言获取文件后缀名和文件名的方法:#Python获取文件后缀名的方法importos.pathdeffile_extension(path):returnos.path.splitext(path)[1]printfile_extension('/py/a.py')输出:.py#Python获取目录和文件名importos.pathdeffile_extens
系统 2019-09-27 17:52:22 2050
1、数字普通除法print(7/3)2.3333333333333335地板除print(7//3)2取余print(7%3)1乘法print(7*3)21乘方print(3**3)27四则运算print((3*2)+5-(5*3))-42、字符串单引号和双引号作用一样print(‘hello’)print(“hello”)print("‘hello’")hellohello‘hello’将转义符原样输出print(r"hello\nworld")hell
系统 2019-09-27 17:51:24 2050
在写程序时,我们经常需要定义一些路径常量,为了逻辑和代码的清晰,可以新建一个config.ini文件,然后调用其中的信息即可。config.ini文件格式如下:[section1]model_dir=/home/user/nlp-data/trained-model;注释save_input=./profiling/inputsave_state=./profiling/state......[section2]save_output=./profilin
系统 2019-09-27 17:51:24 2050
klearnpythonAPILinearRegressionfromsklearn.linear_modelimportLinearRegression#线性回归#module=LinearRegression()module.fit(x,y)module.score(x,y)module.predict(test)LogisticRegressionfromsklearn.linear_modelimportLogisticRegression#逻辑回
系统 2019-09-27 17:51:04 2050
python中with可以明显改进代码友好度,比如:复制代码代码如下:withopen('a.txt')asf:printf.readlines()为了我们自己的类也可以使用with,只要给这个类增加两个函数__enter__,__exit__即可:复制代码代码如下:>>>classA:def__enter__(self):print'inenter'def__exit__(self,e_t,e_v,t_b):print'inexit'>>>withA()
系统 2019-09-27 17:49:50 2050
filter(function,sequence):对sequence中的item依次执行function(item),将执行结果为True的item组成一个List/String/Tuple(取决于sequence的类型)返回:复制代码代码如下:>>>deff(x):returnx%2!=0andx%3!=0>>>filter(f,range(2,25))[5,7,11,13,17,19,23]>>>deff(x):returnx!='a'>>>filt
系统 2019-09-27 17:49:44 2050
1.可传入参数:@app.route('/user/')#常用的不加参数的时候默认是字符串形式的@app.route('/post/')#常用的#指定int,说明是整型的@app.route('/post/')@app.route('/post/')@app.route('/login',methods=['GET','POST'])DEFAULT_CONVERTERS={'default':UnicodeConverter,'string':Unicod
系统 2019-09-27 17:49:32 2050
本文实例讲述了Python函数用法。分享给大家供大家参考,具体如下:demo.py(函数定义):#say_hello()#不能在定义函数之前调用函数#Python解释器知道下方定义了一个函数defsay_hello():"""函数的说明文档"""print("hello1")print("hello2")print("hello3")print("调用函数之前")#只有在程序中,主动调用函数,才会让函数执行say_hello()print("调用函数之后"
系统 2019-09-27 17:49:23 2050
frommultiprocessingimportProcess,Queuefromtimeimporttimedeftask_handler(current_list,result_queue):total=0fornincurrent_list:total+=nresult_queue.put(total)defmain():processes=[]number_list=[xforxinrange(1,10000001)]result_queue=Q
系统 2019-09-27 17:48:29 2050
一.字符串的写法1.单引号或双引号二.字符串是不会变的1.字符串不会变,只会新增后再赋值a='ABC'b=aa='XYZ'print(b)结果还是ABC三.字符串的拼接1.用加号+2.字符串不能与数字类型相加,需要使用内置函数str()将数字类型转换成字符串类型再拼接四.字符串的常用方法1.title()将字符串里面的英文单词(空格隔开的叫一个单词)首字母变大写,其他字符不变2.upper()将字符串里面的所有英文字符变大写,其他字符不变3.lower()
系统 2019-09-27 17:48:26 2050
并发与锁a.多个线程共享数据的时候,如果数据不进行保护,那么可能出现数据不一致现象,使用锁,信号量、条件锁b.c.互斥锁1.互斥锁,是使用一把锁把代码保护起来,以牺牲性能换取代码的安全性,那么Rlock后必须要relase解锁不然将会失去多线程程序的优势2.互斥锁的基本使用规则:1importthreading2#声明互斥锁3lock=threading.Rlock();4defhandle(sid):#功能实现代码5lock.acquire()#加锁6#
系统 2019-09-27 17:48:09 2050
1.首先定义一个log文件#-*-coding:utf-8-*-importosimporttimeimportloggingimportsyslog_dir1=os.path.join(os.path.dirname(os.path.dirname(__file__)),"logs")today=time.strftime('%Y%m%d',time.localtime(time.time()))full_path=os.path.join(log_di
系统 2019-09-27 17:47:58 2050
windows10:1,先要pip安装pydotplus和graphviz:pipinstallpydotpluspipinstallgraphviz2,www.graphviz.org下载msi文件并安装。3,系统环境变量path中增加两项:C:\ProgramFiles(x86)\Graphviz2.38\binC:\ProgramFiles(x86)\Graphviz2.38#确认graphviz是安装在上面路径当中。4,python中使用方法:fr
系统 2019-09-27 17:47:26 2050
1.编译nginx在网上买了一本《实战nginx-取代Apache的高性能服务器》,写的比较浅,主要是些配置方面的东西,不过却正是目前我所需要的。由于需要支持https和rewrite,所以除了nginx的源码之外,又下载了openssl-0.9.8r.tar.gz和pcre-8.12.tar.gz,把他们和nginx-1.0.4.tar.gz放到同一个目录。为了方便编译,笔者写了一个脚本,代码如下:#!/bin/bash#================
系统 2019-09-27 17:38:47 2050