datetime.datetime模块
- 提供比较好用的时间而已
-
类定义
-
datetime相当于date和time结合起来。
datetime.datetime (year, month, day[ , hour [ , minute[ , second[ , microsecond[ , tzinfo] ] ] ] ] ) 属性 值 tm_year(年) 比如2011 tm_mon(月) 1 - 12 tm_mday(日) 1 - 31 tm_hour(时) 0 - 23 tm_min(分) 0 - 59 tm_sec(秒) 0 - 61 tm_wday(weekday) 0 - 6(0表示周日) tm_yday(一年中的第几天) 1 - 366 tm_isdst(是否是夏令时) 默认为-1
-
- 类方法
- 静态方法和字段
datetime.today():返回一个表示当前本地时间的datetime对象; datetime.now([tz]):返回一个表示当前本地时间的datetime对象,如果提供了参数tz,则获取tz参数所指时区的本地时间; datetime.utcnow():返回一个当前utc时间的datetime对象;#格林威治时间 datetime.fromtimestamp(timestamp[, tz]):根据时间戮创建一个datetime对象,参数tz指定时区信息; datetime.utcfromtimestamp(timestamp):根据时间戮创建一个datetime对象; datetime.combine(date, time):根据date和time,创建一个datetime对象; datetime.strptime(date_string, format):将格式字符串转换为datetime对象;
- 方法和属性
dt=datetime.now()#datetime对象 dt.year、month、day、hour、minute、second、microsecond、tzinfo: dt.date():获取date对象; dt.time():获取time对象; dt. replace ([ year[ , month[ , day[ , hour[ , minute[ , second[ , microsecond[ , tzinfo]]]]]]]]): dt. timetuple () dt. utctimetuple () dt. toordinal () dt. weekday () dt. isocalendar () dt. isoformat ([ sep] ) dt. ctime ():返回一个日期时间的C格式字符串,等效于time.ctime(time.mktime(dt.timetuple())); dt. strftime (format)
- 静态方法和字段
In [2]:
from datetime import datetime as dt
print(dt.now())
2018-12-27 01:59:54.223276
os-操作系统相关
- 跟操作系统相关,主要文件操作
- 三个模块
- os ,操作系统目录相关
- os.path ,系统路径相关操作
- shutil,高级文件操作,目录树的操作,文件赋值,删除,移动
- 路径:
- 绝对路径:总是从根目录上开始
- 相对路径:基本以当前环境开始的一个相对地方
os模块
- getcwd()获取当前的工作目录
- 格式:os.getcwd()
- 返回值:当前工作目录的字符串
- 当前工作目录就是程序在进行文件相关操作,默认查找文件目录
- chdir()改变当前工作目录
- change directory
- 格式:os.chdir(路径)
- 返回值:无
- listdir()获取一个目录中所有子目录和文件的名称列表
- 格式:oslistdir(路径)
- 返回值:所有子目录和文件名称的列表
- makedirs()递归创建文件夹
- 格式:os.makedirs(递归路径)
- 返回值: 无
- system()运行系统shell命令
- 格式:os.system(系统命令)
- 返回值:打开一个shell或者终端界面
- 一般推荐使用subprocess代替
- getenv()获取指定的系统环境变量
- 格式:os.getenv('环境变量名')
- 返回值:指定环境变量名对应的值
- putenv()
- exit()退出当前程序
- 格式exit()
In [3]:
import os
mydir = os.getcwd()
print(mydir)
/home/tlxy/桌面/biji
In [5]:
#listdir()
ld = os.listdir()
print(ld)
['17.ipynb', '第五日.ipynb', '第七日.ipynb', 'VMware Tools', '第四日.ipynb', '第十三日.ipynb', '第十四日.ipynb', '第十二日.ipynb', '第十日.ipynb', '18.ipynb', '第九日.ipynb', '第十六日.ipynb', '第十一日.ipynb', '.ipynb_checkpoints', '第六日.ipynb', '第八日.ipynb', '第十五日.ipynb', '第三日.ipynb', '第二日.ipynb', '第一日.ipynb']
In [7]:
#getenv()实例
rst = os.getenv('PATH')
print(rst)
/var/sw/anaconda3/bin:/home/tlxy/bin:/home/tlxy/.local/bin:/var/sw/anaconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
值部分
- os.curdir:curretn dir,当前目录
- os.pardir:parent dir,父目录
- os.sep:当前系统的路径分隔符
- os.linesep:当前系统的换行符
- os.name:当前系统名称
- windows: nt
- mac,unix,linux: posix
In [9]:
print(os.pardir)
print(os.curdir)
print(os.sep)
print(os.linesep)
print(os.name)
.. . / posix
os.path 模块,跟路径相关的模块
- abspath () 将路径转化为绝对路径
- 格式:os.path.abspath('路径')
- 返回值:路径的绝对路径形式
- basename() 获取路径中的文件名部分
- 格式:os.path.basename('路径')
- 返回值:文件名字符串
- join()将多个路径拼合成一个路径
- 格式:os.path.join('路径1‘,’路径2‘,...)
- 返回值: 组合之后的新路径字符串
- split() 将路径切割成文件夹部分和当前文件部分
- 格式:os.path.split('路径')
- 返回值:路径和文件名组成的元组
- isdir() 检测是否是目录
- 格式:os.path.isdir('路径')
- 返回值: bool
- exists()检测文件或者目录是否存在
- 格式:os.path.exists(‘路径’)
- 返回值:bool
In [11]:
import os.path as p
#abspath () 实例
abspath = p.abspath('.')
print(abspath)
/home/tlxy/桌面/biji
In [12]:
#basename()实例
bn = p.basename('/home/tlxy')
print(bn)
tlxy
In [14]:
#isdir()实例
res = p.isdir('/home/tlxy/桌面')
print(res)
True
In [16]:
#exists()实例
print(p.exists('/home/tlxy/桌面'))
True
shutil模块
- copy()复制文件
- 格式:shutil.copy(‘来源路径’,‘目标路径’)
- 返回值:返回目标路径
- 拷贝的同时可以给文件重命名
- copy2()复制文件,保留元数据(文件信息)
- 格式:shutil.copy2(‘来源路径’,‘目标路径’)
- 返回值:返回目标路径
- 注意:copy与copy2的唯一区别在于copy2复制文件时尽量保留元数据
- copyfile()将一个文件的内容复制到另外一个文件当中
- 格式:shutil.copyfile('源路径',’目标路径‘)
- 返回值:无
- move()移动文件或文件夹
- 格式:shutil.move(’源路径‘,’目标路径‘)
- 返回值:目标路径
归档和压缩
- 归档:把多个文件或者文件夹合并到一个文件中
- 压缩:用算法,把多个文件或者文件夹无损或者有损合并到一个文件中
- make_archive()归档操作
- 格式:shutil.make_archive('归档之后的目录和文件名',’后缀‘,’需要归档的文件夹‘)
- 返回值:归档之后的地址
- unpack_archive()解包操作
- 格式:shutil.unpack_archive(’归档文件地址‘,’‘解包之后的地址)
- 返回值:解包之后的地址
zip-压缩包
- 模块名称zipfile
- 格式:zipfile.ZipFile(file[,mode[,compression[,allowZip64]]])
- 创建一个ZipFile对象,表示一个zip文件。
- 参数file表示文件的路径或者类文件对象(file-like object);
- ZipFile.extracyall([path[,members[,pwd]]])
- 解压zip文档中的所有文件到当前目录
random
- 随机数
- 所有随机模块都是伪随机
- random()获取 0-1之间的随机小数
- 格式:random.random()
- 返回值:0-1之间的随机小数
- choice()随机返回序列中的某个值
- 格式:random.choice()
- randint()随机返回整数
- uniform()随机返回浮点数
- random.randrange(1,100,2) 生成从1到100的间隔为2的随机整数
- a=[1,3,5,6,7] random.shuffle(a) 将序列a中的元素顺序打乱
In [89]:
import random
print( random.randint(1,10) ) # 产生 1 到 10 的一个整数型随机数
print( random.random() ) # 产生 0 到 1 之间的随机浮点数
print( random.uniform(1.1,5.4) ) # 产生 1.1 到 5.4 之间的随机浮点数,区间可以不是整数
print( random.choice('tomorrow') ) # 从序列中随机选取一个元素
print( random.randrange(1,100,2) ) # 生成从1到100的间隔为2的随机整数
a=[1,3,5,6,7] # 将序列a中的元素顺序打乱
random.shuffle(a)
print(a)
4 0.5640038753183663 2.83286180629042 o 21 [5, 6, 3, 7, 1]