模块os、time、math的使用

一、os模块

import os
# 1.os.access
ret = os.access('animals', os.F_OK)
print('F_OK - 返回值', ret)

ret = os.access('test.py', os.R_OK)
print('R_OK - 返回值', ret)

ret = os.access('test.py', os.W_OK)
print('W_OK - 返回值', ret)

ret = os.access('test.py', os.X_OK)
print('X_OK - 返回值', ret)

# 2.os.getcwd()
# 返回当前目录
print(os.getcwd())
print('目录为:', os.listdir(os.getcwd()))

# 3.os.fstat
# 打开文件
fd = os.open('01-review.py', os.O_RDWR | os.O_CREAT)
# 获取元组
info = os.fstat(fd)
print('文件信息', info)
print('文件UID:', info.st_uid)
print('文件GID:', info.st_gid)
# 每个时间戳都以自从1970年1月1日午夜(历元)经过了多长时间来表示
print('文件最近访问时间:', info.st_atime)
print('文件最近修改时间:', info.st_mtime)
print('文件状态信息的修改时间(不是文件内容修改时间)', info.st_ctime)
os.close(fd)

参考:https://www.runoob.com/python/os-file-methods.html

二、time模块的使用

import time
# 每个时间戳都以自从1970年1月1日午夜(历元)经过了多长时间来表示
# 时间戳单位最适于做日期运算。但是1970年之前的日期就无法以此表示了。太遥远的日期也不行,UNIX和Windows只支持到2038年。
# 1.获取当前时间 localtime
# 从返回浮点数的时间戳方式向元组转换,只要将浮点数转换给localtime之类的函数
now = time.localtime(time.time())
print(now)
print(type(now))
# 2.获取格式化的时间
# 你可以根据需求选取各种格式,但是最简单的获取可读的时间模式的函数是asctime():
#   time.asctime([tupletime])
# 接受时间元组并返回一个可读的形式为"Tue Dec 11 18:07:14 2008"(2008年12月11日 周二18时07分14秒)的24个字符的字符串。
now = time.asctime(time.localtime(time.time()))
print(now)
# 等价于
print(time.ctime())
# 3.time.perf_time()和time.process_time()
# 用以浮点数计算的秒数返回当前的CPU时间。用来衡量不同程序的耗时,比time.time()更有用。
# 由于clock该方法依赖操作系统,在 Python 3.3 以后不被推荐,而在 3.8 版本中被移除,需使用下列两个函数替代。
# 只有连续调用的结果之间的差才是有效的。
print(time.perf_counter())  # # 返回系统运行时间
print(time.process_time())  # # 返回进程运行时间
# 4.    time.gmtime([secs])
# 接收时间戳(1970纪元后经过的浮点秒数)并返回格林威治天文时间下的时间元组t。注:t.tm_isdst始终为0
print(time.gmtime())
# 5.time.mktime()
# Python time mktime() 函数执行与gmtime(), localtime()相反的操作,它接收struct_time对象作为参数,
# 返回用秒数来表示时间的浮点数。
# 如果输入的值不是一个合法的时间,将触发 OverflowError 或 ValueError。
t = (2016, 2, 17, 17, 3, 38, 1, 48, 0)
secs = time.mktime(t)
print("time.mktime(t) : %f" % secs)
# 字符串格式转换成时时间戳
str_time = '2018-1-17'
print(time.mktime(time.strptime(str_time,'%Y-%m-%d')))

print("asctime(localtime(secs)): %s" % time.asctime(time.localtime(secs)))
# 6.time.strftime()
# 接收以时间元组,并返回以可读字符串表示的当地时间,格式由fmt决定。
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
# 7.time.strptime()
# 根据fmt的格式把一个时间字符串解析为时间元组。
struct_time = time.strptime("30 Nov 00", "%d %b %y")
print(struct_time)

参考:https://www.runoob.com/python3/python3-date-time.html

三、math模块

import math
print(math.radians(180), math.degrees(math.pi))
print(math.pow(2, 3))
print(math.modf(1.23), math.trunc(1.23))
print(math.log10(2), math.log(4, 2), math.factorial(3), math.ceil(2.3), math.floor(2.3))
print(math.isnan(2.3), math.isnan(2), math.inf, math.isinf(math.inf))

四、calendar模块

# 1.calendar.setfirstweekday()
print(calendar.firstweekday(), type(calendar.firstweekday()))
calendar.setfirstweekday(6)  # 0-6
print(calendar.firstweekday())
# 2.calendar.leapdays、calendar.isleap
print(calendar.isleap(1600))
print(calendar.leapdays(1600, 1601))
print(calendar.leapdays(1599, 1600))
# 3.calendar.monthcalendar()、calendar.monthrange()
print(calendar.monthcalendar(2019, 8))
print(calendar.monthrange(2019, 8))

参考:https://www.runoob.com/python3/python3-date-time.html

datetime

import datetime
# 1.now、timedelta
today = datetime.datetime.now()
print(today, time.mktime(today.timetuple()))
print(today - datetime.timedelta(days=1))
print(today - datetime.timedelta(hours=1))
# 2、datetime()
# 时时间戳转换成datetime
print(datetime.datetime.fromtimestamp(time.time()))

五、Random

import random  # 调用random模块

a = random.random()  # 随机从0-1之间抽取一个小数
print(a)

a = random.randint(0,100)  # 随机从0-100之间抽取一个数字
print(a)

a = random.choice('abcdefg')  # 随机从字符串/列表/字典等对象中抽取一个元素(可能会重复)
print(a)

a = random.sample('abcdefg', 3) # 随机从字符串/列表/字典等对象中抽取多个不重复的元素
print(a)

items = [1, 2, 3, 4, 5, 6]  # “随机洗牌”,比如打乱列表
random.shuffle(items)
print(items)

数据分析需要用到pandasNumPy模块,网页开发要用到Django模块

六、CSV模块(简易版Excel)

import csv

# dir()函数会得到一个列表,用for循环一行行打印列表比较直观
for i in dir(csv):
    print(i)

"""
Dialect
DictReader
DictWriter
Error
OrderedDict
QUOTE_ALL
QUOTE_MINIMAL
QUOTE_NONE
QUOTE_NONNUMERIC
Sniffer
StringIO
_Dialect
__all__
__builtins__
__cached__
__doc__
__file__
__loader__
__name__
__package__
__spec__
__version__
excel
excel_tab
field_size_limit
get_dialect
list_dialects
re
reader
register_dialect
unix_dialect
unregister_dialect
writer
"""

csv模块的官方英文教程:https://docs.python.org/3.6/library/csv.html
中文教程:https://yiyibooks.cn/xx/python_352/library/csv.html#module-csv

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容

  • 一、目录遍历 os 用于获取系统的功能,主要用于操作文件或者文件夹代码演示:import ospath = r...
    hollow_02f9阅读 1,565评论 0 0
  • Lesson_8 【8】对序列的文件操作:泡菜(pickle) 文件的写入只能写入普通的字符,对于list、tup...
    甜西瓜不太甜阅读 640评论 0 1
  • 5Python集合容器 数据结构数据结构 一般将数据结构分为两大类: 线性数据结构和非线性数据结构。 线性数据结构...
    清清子衿木子水心阅读 1,481评论 0 1
  • 她是笼中的一只鸟 生下便在笼中 主人告诉她 外面的世界很残酷 你会惨死在外面的 鸟儿不听 执意要出去 愈演愈烈 主...
    乖巧可爱温柔玄阅读 213评论 0 0
  • 7月9日,今天是非常不同寻常的一天,充实丰富令人愉悦。在八点二十我们队员于生科院集合,开始接下来活动的准备工作。我...
    不加糖巨甜阅读 187评论 0 0