06 python学习笔记-常用模块(六)
一. 模块、包
1、什么是模块?
Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句,是用来组织代码的。模块能定义函数,类和变量,模块里也能包含可执行的代码。
2、模块分类:
- 标准库:python内置的
- 开源模块:第三方
- 自定义模块:自己写的
3、什么是包?
包,package本质就是一个文件夹,和文件夹不一样的是它有一个__init__.py文件,包是从逻辑上来组织模块的,也就是说它是用来存放模块的,如果你想导入其他目录下的模块,那么
这个目录必须是一个包才可以导入。
4、导入模块:
import module #导入模块
import module1,module2...... #导入多个模块
from module import * #导入该模块中的所有方法,慎用
from module import fun as xx_fun #导入指定的方法,然后起别名
from module import fun1,fun2,fun3 #导入模块下的多个方法
'''import module,实际上就是把该模块的代码赋值给模块名,也就是module.py里面所有的代码,赋值给了module这个变量,
如果是from module import fun,就是把module打开,把module里面的fun方法拿过来使用'''
导入模块的本质,就是把python文件拿过来执行一次。使用包中的模块需要在__init__.py文件中from . import xxx
二. os、sys模块
1 import os
2
3 os.rename('test1','test2') #重命名
4 os.remove(test1) #删除文件
5 os.mkdir('case') #创建文件夹
6 os.rmdir("test") #删除指定的文件夹
7 os.makedirs('case/login') #递归创建文件夹,父目录不存在时创建父目录
8 os.removedirs("test") #递归删除空目录
9 print(os.curdir)#当前目录
10 print(os.pardir)#父目录
11 files = os.listdir(r'/Users/nhy/mjz/day1')#列出一个目录下的所有文件
12 print(os.path.isdir(r'/Users/nhy//mjz/day3'))#判断是否是一个路径
13 print(os.path.isfile(r'/Users/nhy/mjz/day3'))#判断是否是一个文件
14 os.chdir(r'/Users/nhy/PycharmProjects/mjz/day3') #切换当前目录
15 print(os.getcwd())#获取当前路径
16 print(os.path.join("/root",'hehe','a.sql'))#拼接成一个路径
17 print(os.path.getsize('products.json')) # 返回文件大小
18 print(os.path.exists('products.json'))#判断目录/文件是否存在
19 print(os.path.getatime('products.json'))#最近一次的访问时间
20 print(os.path.getctime('products.json'))#创建时间
21 print(os.path.getmtime('products.json'))#修改时间
22 print(os.path.split(r'/Users/nhy/mjz/day4/products.json'))#分割路径和文件名
23 os.path.basename(‘path/filename’) 去掉目录路径,返回文件名
24 os.path.dirname(‘path/filename’) 去掉文件名,返回目录路径
25 print(os.path.abspath(__file__))#根据相对路径获取绝对路径
26 print(os.stat("len_os.py"))#获取文件信息
27 print(os.sep)#当前操作系统的路径分隔符
28 print(os.linesep)#当前操作系统的换行符
29 print(os.pathsep)#当前系统的环境变量中每个路径的分隔符,linux是:,windows是;
30 print(os.environ)#当前系统的环境变量
31 print(os.name)#当前系统名称
32 os.chmod("test") 改变目录权限
33
34 os.system('ifconfig') #执行操作系统命令,无法操作执行结果
35 result = os.popen('ifconfig').read() #执行操作系统命令,可以操作执行结果
36 print('result...',result)
37
38 os.walk('路径') #遍历指定路径所有目录文件
39 #示例:遍历/目录下所有目录、文件,查找出文件名包含‘.mp4’的文件
40 name = '.mp4'
41 def search_file(path,name):
42 for cur_dir,dirs,files in os.walk(path):
43 for file in files:
44 if name in file:
45 abs_path = os.path.join(cur_dir,file)
46 print('找到%s文件,路径是%s'%(file,abs_path))
47
48 search_file('/',name)
#sys模块
import sys
sys.argv #命令行参数List,第一个元素是程序本身路径
sys.exit(n) #退出程序,正常退出时exit(0)
sys.version #获取Python解释程序的版本信息
sys.maxint #最大的Int值
sys.path #返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.platform #返回操作系统平台名称
sys.stdout.write('please:') # 向屏幕输出一句话
val = sys.stdin.readline()[:-1] # 获取输入的值
三. time&datetime模:
import datetime, time print(time.timezone) # 和标准时间相差的时间,单位是s
print(time.time()) # 获取当前时间戳
print(time.sleep(1)) # 休息几s
print(time.gmtime()) # 把时间戳转换成时间元组,如果不传的话,默认取标准时区的时间戳
print(time.localtime()) # 把时间戳转换成时间元组,如果不传的话,默认取当前时区的时间戳
print(time.mktime(time.localtime())) # 把时间元组转换成时间戳
print(time.strftime("%y%m%d %H%M%S")) # 将时间元组转换成格式化输出的字符串
print(time.strptime("20160204 191919", "%Y%m%d %H%M%S")) # 将格式化的时间转换成时间元组
print(time.struct_time) # 时间元组
print(time.asctime()) # 时间元转换成格式化时间
print(time.ctime()) # 时间戳转换成格式化时间
print(datetime.datetime.now()) # 当然时间格式化输出
print(datetime.datetime.now() + datetime.timedelta(3)) # 3天后的时间
print(datetime.datetime.now() + datetime.timedelta(-3)) # 3天前的时间
示例:
def timestamp_to_str(timestamp=None,format='%Y-%m-%d %H:%M:%S'):
'''时间戳转格式化好的时间,默认返回当前时间'''
if timestamp:
time_tuple = time.localtime(timestamp) # 以当前时区的时间转换
result = time.strftime(format,time_tuple)
else:
result = time.strftime(format)
return result def str_to_timestamp(string=None,format='%Y-%m-%d %H:%M:%S'):
'''格式化好的字符串转时间戳,默认返回当前时间戳'''
if string:
time_tuple = time.strptime(string, format) # 格式化好的时间,转时间元组的
result = time.mktime(time_tuple) # 把时间元组转成时间戳
else:
result = time.time()
return int(result)
四. random模块
import random,string
print(random.random())#随机浮点数,默认取0-1,不能指定范围
print(random.randint(1,20))#随机整数
print(random.randrange(1,20))#随机产生一个range
print(random.choice('x23serw4'))#随机取一个元素
print(random.sample('hello',2))#从序列中随机取几个元素
print(random.uniform(1,9))#随机取浮点数,可以指定范围
x = [1,2,3,4,6,7]
random.shuffle(x)#洗牌,打乱顺序,会改变原list的值
print(x)
print(string.ascii_letters+string.digits)#所有的数字和字母
06 python学习笔记-常用模块(六)的更多相关文章
- Python学习笔记-常用模块
1.python模块 如果你退出 Python 解释器并重新进入,你做的任何定义(变量和方法)都会丢失.因此,如果你想要编写一些更大的程序,为准备解释器输入使用一个文本编辑器会更好,并以那个文件替代作 ...
- Python学习笔记之模块与包
一.模块 1.模块的概念 模块这一概念很大程度上是为了解决代码的可重用性而出现的,其实这一概念并没有多复杂,简单来说不过是一个后缀为 .py 的 Python 文件而已 例如,我在某个工作中经常需要打 ...
- Python学习 :常用模块(二)
常用模块(二) 四.os模块 os模块是与操作系统交互的一个接口,用于对操作系统进行调用 os.getcwd() # 提供当前工作目录 os.chdir() # 改变当前工作目录 os.curdir( ...
- Python学习笔记—itertools模块
这篇是看wklken的<Python进阶-Itertools模块小结> 学习itertools模块的学习笔记 在看itertools中各函数的源代码时,刚开始还比较轻松,但后面看起来就比较 ...
- python学习笔记_week5_模块
模块 一.定义: 模块:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能), 本质就是.py结尾的python文件(文件名:test.py,对应模块名:test) 包:用来从逻辑上 ...
- python学习笔记(八)-模块
大型python程序以模块和包的形式组织.python标准库中包含大量的模块.一个python文件就是一个模块.1.标准模块 python自带的,不需要你安装的2.第三方模块 需要安装,别人提供的. ...
- python学习笔记十——模块与函数
第五章 模块与函数 5.1 python程序的结构 函数+类->模块 模块+模块->包 函数+类+模块+包=Python pyth ...
- Python学习 :常用模块(三)----- 日志记录
常用模块(三) 七.logging模块 日志中包含的信息应有正常的程序访问日志,还可能有错误.警告等信息输出 python的 logging 模块提供了标准的日志接口,你可以通过它存储各种格式的日志, ...
- Python学习笔记——常用的内置函数
一.yield def EricReadlines(): seek = 0 while True: with open('D:/temp.txt','r') as f: f.seek(seek) da ...
随机推荐
- Java匹马行天下之C国程序员的秃头原因
Java帝国的崛起 前言: 分享技术之前先请允许我分享一下黄永玉老先生说过的话:“明确的爱,直接的厌恶,真诚的喜欢.站在太阳下的坦荡,大声无愧地称赞自己.” <编程常识知多少> <走 ...
- 微信小程序中的tabBar设置
我们先来看一份图,这个设置在官方文档中已经写得很清楚了,我只是做一个总结 注:我写注释是为了方便说明,在小程序中的json文件中是不能用注释的 这个tabBar属于全局属性,因此就在全局配置文件app ...
- Linux 中文打字软件 gtypist 光标错位解决
在windows 下有 金山打字和其他的跟打软件,在Linux下找到了 gtypist 为练习中文打字,该软件分为练习模式的速度测试模式,在gtypist-2.9.5版中会出现以下几个问题: 一是在练 ...
- linux常用开发命令总结
linux常用命令 文件操作命令 1. cd 目录名/目录名 切换目录 cd .. 切换到上一级目录 (change dictionary) Ctrl+C强制退出命令行,回到上一级 2.ls ...
- 深入理解 DeepSea 和 Salt 部署工具 - Storage6
学习 SUSE Storage 系列文章 (1)SUSE Storage6 实验环境搭建详细步骤 - Win10 + VMware WorkStation (2)SUSE Linux Enterpri ...
- JAVA 8 新特性Stream初体验
什么是 Stream? Stream(流)是一个来自数据源的元素队列并支持聚合操作 <strong元素队列< strong="">元素是特定类型的对象,形成一个队 ...
- CSS技巧 (3)
关于CSS技巧的一些题目 题目列表 所有答案点击题目链接 1.下面这个左边竖条图形,只使用一个标签,可以有多少种实现方式: 2.类似下面这样的条纹边框,只使用一个标签,可以有多少种实现方式 -- 从条 ...
- Scala 学习笔记之集合(8) Try和Future
import util._ import concurrent.ExecutionContext.Implicits.global import concurrent.Future import co ...
- 利用双重检查锁定和CAS算法:解决并发下数据库的一致性问题
背景 最近有一个场景遇到了数据库的并发问题.现在先由我来抽象一下,去掉不必要的繁杂业务. 数据库表book存储着每本书的阅读量,一开始数据库是空的,不存在任何的数据.当用户访问接口的时候,判断 ...
- Spring Cloud Config Server 节点迁移引起的问题,请格外注意这一点!
前言: 虽然强烈推荐选择使用国内开源的配置中心,如携程开源的 Apollo 配置中心.阿里开源的 Nacos 注册&配置中心. 但实际架构选型时,根据实际项目规模.业务复杂性等因素,有的项目还 ...