目录
一、time模块
time 模块提供了一些处理日期和一天内时间的函数. 它是建立在 C 运行时库的简单封装。给定的日期和时间可以被表示为浮点型(从参考时间, 通常是1970.1.1到现在经过的秒数. 即 Unix 格式), 或者一个表示时间的 struct (类元组).
[secs]为秒数,t为九元元祖或struct_time,N为正整数
time.time() ----> 获取当前时间,从1970.1.1 到现在经过的秒数
time.localtime([secs]) ----> 根据自纪元(即1970年1月1日零时)以来的秒数,转换为本地时间的struct_time对象。secs未提供或值为None时,默认为time当前时间。
因为中国是+8时区,所以比gmtime的结果多8小时。
结果: tm_sec; /* 秒 – 取值区间为[0,59] */
tm_min; /* 分 - 取值区间为[0,59] */
tm_hour; /* 时 - 取值区间为[0,23] */
tm_mday; /* 一个月中的日期 - 取值区间为[1,31] */
tm_mon; /* 月份(从一月开始,0代表一月) - 取值区间为[0,11] */
tm_year; /* 年份,其值等于实际年份减去1900 */
tm_wday; /* 星期 – 取值区间为[0,6],其中0代表星期一,1代表星期二,以此类推 */
tm_yday; /* 从每年的1月1日开始的天数 – 取值区间为[0,365],其中0代表1月1日,1代表1月2日,以此类推 */
tm_isdst; /* 夏令时标识符,实行夏令时的时候,tm_isdst为正。不实行夏令时的时候,tm_isdst为0;不了解情况时,tm_isdst()为负。
time.gmtime([secs]) ----> 根据自纪元(即1970年1月1日零时)以来的秒数,转换为UTC的struct_time对象。secs未提供或值为None时,默认为time当前时间
time.mktime(t) ----> localtime的反函数,根据代表时间的九元元祖返回local时间的秒数。
time.sleep(N) ----> 睡眠N秒
time.asctime([t]) ----> 根据gmtime的元祖结果或localtime的元祖结果返回以下格式的字符串'Sun Jun 20 23:21:05 1993',若t未指定,则默认为localtime本地时间
time.ctime([secs]) ----> 将距离初始纪元的秒数表示的时间转换为以下形式的字符串: 'Sun Jun 20 23:21:05 1993' 代表本地时间。 日期字段的长度为两个字符,如果日期只有一个数字则会以零填充。若secs未提供或为None,则默认为time当前时间。
time.strftime(format, t) ----> 把一个九元元组或 struct_time 表示的由 gmtime() 或 localtime() 返回的时间转换为由 format 参数指定的字符串。如果未提供 t ,则使用由 localtime() 返回的本地时间。 format 必须是一个字符串。如果 t 中的任何字段超出允许范围,则引发 ValueError 。
format中的指示字符替换:
%a :本地化的缩写星期中每日的名称。
%A :本地化的星期中每日的完整名称。
%b :本地化的月缩写名称。
%B :本地化的月完整名称。
%c :本地化的适当日期和时间表示。
%d :十进制数 [01,31] 表示的月中日。
%H :十进制数 [00,23] 表示的小时(24小时制)。
%I :十进制数 [01,12] 表示的小时(12小时制)。
%j :十进制数 [001,366] 表示的年中日。
%m :十进制数 [01,12] 表示的月。
%M :十进制数 [00,59] 表示的分钟。
%p :本地化的 AM 或 PM 。注:当与 strptime() 函数一起使用时,如果使用 %I 指令来解析小时, %p 指令只影响输出小时字段。
%S :十进制数 [00,61] 表示的秒。注:范围真的是 0 到 61 ;值 60 在表示 leap seconds 的时间戳中有效,并且由于历史原因支持值 61 。
%U :十进制数 [00,53] 表示的一年中的周数(星期日作为一周的第一天)作为。在第一个星期日之前的新年中的所有日子都被认为是在第0周。注:当与 strptime() 函数一起使用时, %U 和 %W 仅用于指定星期几和年份的计算。
%w :十进制数 [0(星期日),6] 表示的周中日。
%W :十进制数 [00,53] 表示的一年中的周数(星期一作为一周的第一天)作为。在第一个星期一之前的新年中的所有日子被认为是在第0周。注:当与 strptime() 函数一起使用时, %U 和 %W 仅用于指定星期几和年份的计算。
%x :本地化的适当日期表示。
%X :本地化的适当时间表示。
%y :十进制数 [00,99] 表示的没有世纪的年份。
%Y :十进制数表示的带世纪的年份。
%z :时区偏移以格式 +HHMM 或 -HHMM 形式的 UTC/GMT 的正或负时差指示,其中H表示十进制小时数字,M表示小数分钟数字 [-23:59, +23:59] 。
%Z :时区名称(如果不存在时区,则不包含字符)。
%% :字面的 '%' 字符。
time.strptime() ----> 它的作用与 strftime 相反。给定一个字符串和模式, 它返回相应的struct_time时间对象。
二、os模块:负责程序与操作系统之间的交互
os.name : 操作系统的名称
os.getcwd() : 获取当前工作目录
os.chdir(path) : 修改当前工作目录为path
os.listdir(path) : 以列表形式返回path下的所有文件和目录(不包括子目录)。
os.chmod(path,mode) : 修改path的权限
os.chown(path,uid,gid) : 修改path的属主和属组
os.mkdir(path,mode) : 创建单层文件夹,即path上一级必须存在,若不存在则报错
os.makedirs(path) : 创建多层文件夹,即path上级可以不存在,若不存在则创建
os.remove(path) : 删除文件,不能删除目录
os.rmdir(path) : 删除单层目录,且只能删除空目录
os.removedirs(path) : 递归删除多级目录,若最底层目录删除之后上级目录为空,则继续删除上级目录。且只能删除空目录
os.system(cmd) : 执行cmd命令
os.rename(oldname, newname) : 重命名文件,或者移动文件(目标路径上一级需存在,若不存在则报错),newname已存在则报错。
os.renames(oldname, newname) : 重命名文件,或者移动文件(目标路径上一级可不存在,若不存在则创建),newname已存在则报错。
os.walk(path) 生成path下的所有文件名,返回结果是一个三元对象[root, dirs, files];
root 所指的是当前正在遍历的这个文件夹的本身的地址;
dirs 是一个 list ,内容是该文件夹中所有的目录的名字(不包括子目录)
files 同样是 list , 内容是该文件夹中所有的文件(不包括子目录)
os.curdir : 返回'.',注意这个'.'实际是和getcwd()函数的结果一样的。可以用os.path相关语句进行操作。
三、String模块:字符串的操作
string.atoi (s, base=10) ----> 把字符串s转换为base进制,2 <= base <= 36
string.ascii_lowercase ----> 小写字母:abcdefghijklmnopqrstuvwxyz
string.ascii_uppercase ----> 大写字母:ABCDEFGHIJKLMNOPQRSTUVWXYZ
string.digits ----> 十进制数字:0123456789
string.hexdigits ----> 十六进制数字:0123456789abcdefABCDEF
string.octdigits ----> 八进制数字: 01234567
string.punctuation ----> 由在C区域设置中被视为标点符号的 ASCII 字符所组成的字符串: !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
string.whitespace ----> 由被视为空白符号的 ASCII 字符组成的字符串。 其中包括空格、制表、换行、回车、进纸和纵向制表符。
string.ascii_letters ----> ascii_lowercase和ascii_uppercase的集合
string.printable ----> digits,ascii_letters,punctuation和whitespace的集合
string.capwords(s, seq=None)
----> 用 str.split() 将参数拆分为单词,使用 str.capitalize() 将单词转为大写形式,使用 str.join() 将大写的单词进行拼接。 如果可选的第二个参数 sep 被省略或为 None,则连续的空白字符会被替换为单个空格符并且开头和末尾的空白字符会被移除,否则 sep 会被用来拆分和拼接单词。
Formatter类的用法和string.format用法一致
string.format('fill') ----> 自定义格式化字符串
string类型:
{:>d} ---->扩充至d长度,右对齐
{:<d} ---->扩充至d长度,左对齐
{:^d} ---->扩充至d长度,居中
{:<character>^d} ---->扩充至d长度,居中,<character>填充空白位置
{0:d} ---->把fill的值转换为十进制
{0:x} ---->把fill的值转换为八进制
{0:o} ---->把fill的值转换为十六进制
{0:b} ---->把fill的值转换为二进制
{0:#d} ---->把fill的值转换为十进制
{0:#x} ---->把fill的值转换为八进制,并加前缀0x
{0:#o} ---->把fill的值转换为十六进制,并加前缀0o
{0:#b} ---->把fill的值转换为二进制,并加前缀0b
{:,} ---->使用逗号作为千位分隔符,即每三位填充一个逗号
{:.d%} ---->表示小数点后d位的百分数
{:%Y-%m-%d %H:%M:%S} ---->表示时间
Template类的用法:
$$, 转义字符,它会被替换为单个的$
$identifier, 替换占位符,它会匹配一个名为'identifier'的映射键。 在默认情况下,"identifier" 限制为任意 ASCII 字母数字(包括下划线)组成的字符串,不区分大小写,以下划线或 ASCII 字母开头。 在 $ 字符之后的第一个非标识符字符将表明占位符的终结。
${identifier}, 替换占位符。当占位符之后紧跟着有效的但又不是占位符一部分的标识符字符时需要使用,例如 "${noun}ification"。