python画龙猫_【Python】python常用模块

本文详细介绍了Python中的模块和包的概念及其使用,包括导入模块的方式和包的逻辑组织。接着,讲解了OS模块的功能,如路径处理、文件操作等。此外,还探讨了random模块的随机数生成,包括整数、浮点数、列表选择等。最后,深入讲解了date和datetime模块,涉及时间戳、时间元组的转换和时间格式化。文章通过实例演示了各个知识点的应用,适合Python初学者学习。
摘要由CSDN通过智能技术生成

一、模块、包

什么是模块?

模块实质上就是一个python文件,它是用来组织代码的,意思就是说把python代码写到里面,文件名就是模块的名称,test.py test就是模块名称。

什么是包?

包,package本质就是一个文件夹,和文件夹不一样的是它有一个__init__.py文件,包是从逻辑上来组织模块的,也就是说它是用来存放模块的,如果你想导入其他目录下的模块,那么这个目录必须是一个包才可以导入。

导入模块

import module #导入模块

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模块

window 路径分隔符\, linux或MAC 路径分隔符 /,'\\'其中一个为转义符,r'绝对路径/文件名'里面的路径分隔符不用加转义符,r'纯文本'

importos

print(os.getcwd())#获取当前的路径

os.mkdir('wy')#当前目录下创建文件夹

os.mkdir('e:\\wangyang')#绝对路径下创建文件夹

os.makedirs('zz')#当前目录创建文件夹或按照绝对路径创建#创建两级目录

os.mkdir('stu\\laowang')#父目录不存在会报错

os.makedirs('stu\\laowang')#父目录不存在的时候会帮你创建父目录

os.listdir(r'e:')#获取某个路径下的文件

os.listdir('.')#当前目录下的文件,返回值是list,将所有的文件放在一个list

os.rmdir('stus')#只能删除空文件夹

print(os.path.join('stu','a.txt'))#根据当前系统,拼接路径,他会自动识别路径分隔符stu\a.txt

print(os.sep)#当前系统的路径分隔符,window--\,linux\MAC--/

print(os.path.dirname('e:\\nhy\\stu\\a.txt'))#获取父目录的路径e:\nhy\stu,根据你所传参数为准,以参数作为整个路径

print(os.path.getsize('stu\\test0\\a.txt'))#获取文件的大小

print(os.path.exists('user/local'))#判断文件或者文件夹,是否存在,如果不存在返回false,如果存在返回true

print(os.path.isdir('stu'))#判断是否是文件夹,如果文件夹不存在返回false

print(os.path.isfile('stu\\test0\\a.txt'))#判断是否是文件,如果文件不存在返回false

print(os.path.split(r'.\stu\test0\a.txt'))#分割文件名与路径,结果为:('.\\stu\\test0', 'a.txt')

os.walk(r'.\logs')#返回这三个信息:目录、目录包含的文件夹列表、目录包含的文件列表

for cur,dir,f in os.walk(r'.\stu'):

print(cur,dir,f)#cur为当前目录,dir为目录包含的所有文件夹,f为目录包含的所有文件

练习:

#当前目录下,在末尾是偶数的文件夹中,创建一个a.txt文件,里面随便写点东西

dirs = os.listdir('.')

for i indirs:

if int(i[-1])%2==0:

with open(r'.\stu\%s\a.txt'%i,'a+',encoding='utf-8') as file:

file.write('wangyang奋斗奋斗')

三、random模块

importrandom

print(random.random())#随机浮点数,默认取0-1,不能指定范围,eg.0.5963688623020358

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)

四、date、datetime模块

时间戳 从unix元年开始到现在过得秒数,格式好时间2018-07-01

print(time.time())#获取当前时间戳,

print(int(time.time()))#获取当前时间戳,整型

print(time.strftime('%Y-%m-%d %H:%M:%S'))#2018-07-01 17:03:07 Y四位年

print(time.strftime('%y-%m-%d %H:%M:%S'))#18-07-01 17:03:07 y两位年

print(int(time.time())-10*24*60*60)#追溯到10天前,返回值为时间戳

print(time.mktime(time_tuple))#时间元组转为时间戳

时间元组

print(time.gmtime())#把时间戳转为元组,如果不传时间戳,那么取得是标准时区的时间

print(time.localtime())#把时间戳转为元组,如果不传时间戳,那么取得是当前时区的时间

print(time.localtime(int(time.time())-3*24*60*60))#把时间戳转为元组,传时间戳,获取三天前的时间元组

print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(int(time.time())-3*24*60*60)))#将时间元组格式化,format为必需参数,时间元组为默认参数,默认为None

执行结果为:

时间戳:

1530871998.5078156

1530871998

2018-07-06 18:13:18

18-07-06 18:13:18

1530007998时间元组:

time.struct_time(tm_year=2018, tm_mon=7, tm_mday=6, tm_hour=10, tm_min=13, tm_sec=18, tm_wday=4, tm_yday=187, tm_isdst=0)

time.struct_time(tm_year=2018, tm_mon=7, tm_mday=6, tm_hour=18, tm_min=13, tm_sec=18, tm_wday=4, tm_yday=187, tm_isdst=0)

time.struct_time(tm_year=2018, tm_mon=7, tm_mday=3, tm_hour=18, tm_min=13, tm_sec=18, tm_wday=1, tm_yday=184, tm_isdst=0)

2018-07-03 18:13:18

时间戳转格式化好的时间1.首先要把时间戳转成时间元组2.再把时间元组转成格式好的时间

def timestampToStr(timestamp=None,format='%Y-%m-%d %H:%M:%S'):

iftimestamp:

time_tuple = time.localtime(timestamp) #时间戳转成时间元组

returntime.strftime(format,time_tuple) #时间元组,通过format格式转为格式化好的时间

returntime.strftime(format)#如果没有传递时间元组,则默认格式化当前时间

print(timestampToStr(2234123120,'%Y%m%d'))

print(timestampToStr(format='%Y%m%d'))

结果为:20401018 20180706

格式化好的时间,转为时间戳1.首先要把格式化好的时间,转成时间元组2.再把时间元组转成时间戳

def strToTimestamp(format_time=None,format='%Y%m%d%H%M%S'):

ifformat_time:

time_tuple =time.strptime(format_time, format)#将格式化好的时间转换为时间元组,格式化好的时间格式必须和format格式一致

print(time_tuple)

returnint(time.mktime(time_tuple))#将时间元组转为时间戳

returnint(time.time())#获取当前时间戳整型

print(strToTimestamp('20401018054520','%Y%m%d%H%M%S'))

结果为:

time.struct_time(tm_year=2040, tm_mon=10, tm_mday=18, tm_hour=5, tm_min=45, tm_sec=20, tm_wday=3, tm_yday=292, tm_isdst=-1)

2234123120

五、string模块

import string#先引入包才能使用

print(string.ascii_letters)#打印出所有的字母大小写abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

print(string.ascii_lowercase)#打印出所有的字母小写abcdefghijklmnopqrstuvwxyz

print(string.ascii_uppercase)#打印出所有的字母大写ABCDEFGHIJKLMNOPQRSTUVWXYZ

print(string.digits)#打印出所有的数字

print(string.punctuation)#打印出所有的特殊字符

print(string.printable)#打印出全部

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值