python常用内置模块
#持续更新
#在使用内置模块的时候需要导入,例如import abc,则导入abc模块,当然模块也可以自己写,相当于一个类,后面放到类里说,这个因为环境闲置,有些无法执行,只能理解了
#os系统操作
import os
os.system('ls') #调用系统命令,并返回执行结果,os.system('dir')....
os.popen('ls') #和system相似,system会直接把结果打印到屏幕上,popen可以把结果返回给一个变量,然后可以用read()或for循环来遍历
os.chdir('/home/myuser/py') #windows可以直接把路径打成'c:\mypy'这种,os可以将路径改成通用路径
dir_path = os.getcwd() #获取到当前目录,结果是当前目录路径'/home/myuser/py'
os.listdir(dir_path) #获取指定目录下的所有文件和文件夹,结果是一个list
os.path.isdir(dir_name) #判断指定名称是否是文件夹,假如dir_name是个文件夹,则返回True,否则False
os.path.join(dir1,dir2,file1) #合并多个路径,可以是dir1,dir2...,file1
os.mkdir('py') #创建目录,和linux一样,没什么可说的
os.rmdir('py') #删除目录,必须是个空目录,和linux一样
os.environ.get(env) #获取环境变量,例os.environ.get('oracle_home')
os.getenv('my_home') #同os.environ.get(env),未获取到为返回None,不会报错
os.environ #增加环境变量,用法os.environ[‘ORACLE_HOME’] = ‘oracle_install_path’
#re正则操作
import re
a = "my py it's fucking greate!"
#几个常用的正则内容,|或,.通配符(同excel的*),?匹配0个或1个,*匹配0个或多个,+匹配1个或多个,\\符号\,\*比如要匹配*需要用\转义就是只是个*而不是0个或多个,^匹配行开始,$匹配行结尾
#(?<=XXX)前视,(?=XXX)后视,这个可以百度,我说不清,一般不会用,爬虫时候用的多
#[A-Z]大写的全部字母,[a-z]小写的全部字母,[0-9]全部数字
#正则默认是贪婪模式, .*?这样写是非贪婪模式,(XXX)匹配一个字符串
re_value = re.compile('^.*? ') #编译正则表达式,这段正则的意思是匹配从开始到第一个空格的内容,正则最好先编译下再用
re_search = re.search(re_value,a) #在字符串里找正则匹配的,这个不能直接显示需要group
print re_search.group() #结果是my
re_find = re.findall(re_value,a) #在字符串里找全部可以匹配的结果,返回一个迭代
for i in re_find:
print i #因为只有一行,因此只找到一个,结果是my,可以自己搞多行试试
re.sub(re_value,'',a) #用''替换re_value,就是把正则匹配的结果替换成空,当然也可以替换成别的,结果是"py it's fucking greate!"
#sys,这个功能很乱,我也不知道应该怎么归类
import sys
sys.argv #取得外部传入参数,返回一个list,平常执行命令python a.py,参数在后面输入,例
a.py
a = sys.argv #执行命令python a.py 111 222,执行后a变量的结果是[a.py,111,222]
sys.path.append('/home/user/bin') #增加python模块导入路径,默认导入路径是python_home,没有会在脚本所在目录寻找加载模块,如果你需要加载的模块不想放在这两个地方,又不想改变python_home变量,那就可以用这个功能了,这个只在当前脚本有效
#各种随机生成
import random
random.randint(1,10) #随机生成一个1到10的随机数,结果可能是1/2/3/4/5/6/7/8/9/10其中任意一个
a = ['a','b','c'] #搞个a存个list
random.choice(a) #从a里面随机抽个元素出来,结果可能是'a'/'b'/'c'
random.uniform(1,10) #随机生成一个1到10的随机小数,结果可能是。。。。。这个我就不写了,你懂的
#用户及密码
import getpass
getpass.getuser() #获取当前操作用户
python常用内置模块的更多相关文章
- Python常用内置模块之xml模块
xml即可扩展标记语言,它可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言.从结构上,很像HTML超文本标记语言.但他们被设计的目的是不同的,超文本标记语言被设计用来显示 ...
- Python 常用内置模块(加密模块 hashlib,Base64)
Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等. 什么是摘要算法呢?摘要算法又称哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制 ...
- Python 常用内置模块详解
Python 的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承.Py ...
- python --常用内置模块01
1.简单了解模块 模块就是我们把装有特定功能的代码进行归类的解构,从代码编写的单位来看我们的程序 从小到大的顺序:一条代码< 语句块<代码块(函数,类) < 模块 我 ...
- python常用内置模块,执行系统命令的模块
Subprocess模块 python3.5将使用Subprocess模块跟操作系统进行交互,比如系统命令,他将替换 os.system os.spawn* subprocess.run()方法封装的 ...
- python常用内置模块-random模块
random模块:用于生成随机数 '''关于数据类型序列相关,参照https://www.cnblogs.com/yyds/p/6123692.html''' random() 随机获取0 到1 之间 ...
- Python第五章__模块介绍,常用内置模块
Python第五章__模块介绍,常用内置模块 欢迎加入Linux_Python学习群 群号:478616847 目录: 模块与导入介绍 包的介绍 time &datetime模块 rando ...
- 简学Python第五章__模块介绍,常用内置模块
Python第五章__模块介绍,常用内置模块 欢迎加入Linux_Python学习群 群号:478616847 目录: 模块与导入介绍 包的介绍 time &datetime模块 rando ...
- Python基础之模块:2、包的使用和软件开发目录规范及常用内置模块
目录 一.包的使用 1.什么是包 2.包的具体使用 1.常规导入 2.直接导入包名 二.编程思想转变 1.面条阶段 2.函数阶段 3.模块阶段 三.软件目录开发规范 1.bin 2.conf 3.co ...
随机推荐
- webkit技术内幕读书笔记 (四)
资源缓存 资源缓存的目的是为了提高资源使用的效率,其基本思想是建立一个资源的缓存池,当需要请求资源的时候先去资源池查找是否有相应的资源,如果没有则向服务器发送请求,webkit收到资源后将其设置到该资 ...
- 前端组件化Polymer入门教程(3)——快速入门
本系列主要翻译官方的教程,因为国内目前这方面的资料太少了,但也不一定和官网的一样,反正就是自己想到哪就写到哪. 如果我没有说明,默认情况下index.html始终包含这段代码,后面将不会再贴上来. & ...
- 修改linux的ssh默认端口号22的方法
一.修改配置文件 vi /etc/ssh/sshd_config 找到#Port 22 修改为自己要使用的端口号:Port 26000 然后 :x 退出保存 二.重启ssh服务 /etc/init. ...
- 【杂谈】对CopyOnWriteArrayList的认识
前言 之前看<Java并发编程>这本书的时候,有看到这个,只记得"读多写少"."写入时复制".书中没有过多讲述,只是一笔带过(不过现在回头看,发现讲 ...
- Java NIO系列教程(十二) Java NIO与IO
当学习了Java NIO和IO的API后,一个问题马上涌入脑海: 我应该何时使用IO,何时使用NIO呢?在本文中,我会尽量清晰地解析Java NIO和IO的差异.它们的使用场景,以及它们如何影响您的代 ...
- spring mvc requestmapping 配置多个
参考 import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation. ...
- Spring学习之路-SpringBoot简单入门
简单讲SpringBoot是对spring和springMVC的二次封装和整合,新添加了一些注解和功能,不算是一个新框架. 学习来源是官方文档,虽然很详细,但是太墨迹了… 地址:https://doc ...
- <!--[if IE]><script type="text/javascript" src="matrix/js/html5.js"></script><![endif]-->代码解释
块注释例子 1. <!--[if !IE]><!--> 除IE外都可识别 <!--<![endif]-->2. <!--[if IE]> 所有的I ...
- Redis——非阻塞IO和队列
Redis是个高并发的中间件,但是确实是单线程.而且,Nginx.Node.js等也是单线程的.Redis通过非阻塞IO(IO多路复用)处理那么多的并发客户端连接,并且,由于Redis所有的数据都在内 ...
- Java - "JUC" ReentrantLock释放锁
Java多线程系列--“JUC锁”04之 公平锁(二) 释放公平锁(基于JDK1.7.0_40) 1. unlock() unlock()在ReentrantLock.java中实现的,源码如下: p ...