模块

import 模块

一. random模块

ret = random.random()          # 取0-1之间的小数

ret = random.uniform(1, 2)    # 取1-2之间的小数

 

ret = random.randint(1,2)      # 随机输出1到2的整数

ret = random.randrange(1, 3)     # 随机输出1到2的整数, 取不到3

ret = random.randrange(1, 200, 2)    # 随机输出1到199之间, 间隔为2的整数

 

l = [1,2,3,[4,5],6]

ret = random.choice(l)            # 在l中随机抽取1个元素

ret = random.sample(l, 2)       # 在l中随机抽取2个元素, 互补相同

 

random.shuffle(l)      打乱l的元素的顺序, 没有返回值

 

二. time模块

time模块主要是用来处理时间的, 包括时间戳时间, 格式化时间, 结构化时间

格式化时间是用来给人看的, 时间戳时间是用来给电脑计算的, 结构化时间是用来在两者间转换的

时间戳时间从1970年1月1日0点0分0秒的英国伦敦时间开始计算

 

time.sleep(2)       # 程序走到这停顿两秒

 

格式化时间  ==>  strptime  ==>  结构化时间  ==>  mktime  ==>  时间戳时间

时间戳时间  ==>  localtime, gmtime  ==>  结构化时间  ==>  strftime  ==>  格式化时间

 

print(time.strftime('%y-%m-%d %H:%M:%S'))        输出现在的时间 2018-08-20 16:21:03

print(time.strftime('%c')                                            输出现在的时间 Mon Aug 20 16:21:03 2018

 

ret = time.strptime('2013.10.12', '%Y/%m/%d')       变为结构化时间

ret= time.mktime(ret)                                               变为时间戳时间

 

ret = time.localtime(2000000000)                            变为当地的结构化时间

ret = time.gmtime(2000000000)                              变为英国伦敦的结构化时间

ret = time.strftime('%Y-%m-%d %H:%M:%S', ret)   变为格式化时间

 

结构化时间   

struct_time = time.localtime()

str = '{}-{}-{}'.format(struct_time.tm_year, struct_time.tm_mon, struct_time.tm_mday)

 

 

三. sys模块

sys是和Python的解释器打交道的

 

print(sys.argv)

在终端中执行时, 输入Python 文件的绝对路径后, 加上空格, 在输入字符串, print会输出一个列表, 列表的第一项是这个py文件的了绝对路径, 第二项是刚才输入的空格后的字符串    ['模块.py', '1232', '123', '4', '1q']

这用于在input时, 代替input, 在程序中使用 input = sys.argv[1]  , 因为input会降低程序运行效率

 

print(sys.path)

输出导入模块的地址, 模块如果要被导入, 需要在这个path的地址下, 地址有当前文件夹和c盘的Python文件夹

 

print(sys.modules)

输出我们已经导入到内存中的模块的名字

print(sys.modules['re'].findall('\d', '123kkj123')         这样输入也可以, 需要导入sys和re模块

 

四. os模块

和操作系统交互的模块

 

os.makedirs(dir1/dir2)      创建文件夹, 在py文件当前的目录下创建, 能创建多个

os.mkdir('dir3')           创建文件夹, 在py文件当前的目录下创建, 只能创建一个

os.mkdir('dir3/dir4')    在dir3存在的情况下, 在dir3目录下创建dir4, 如果dir3没有, 会报错

 

os.rmdir('dir3/dir4')     在dir3下有dir4的情况下, 移除dir4, 其他情况报错

os.removesdirs('dir3/dir4')  在dir3下有dir4的情况下, 移除dir3和dir4, 如果dir3中有文件时, 不会删除dir3, 如果dir4中有文件时, 不会删除dir3或dir4, 但会报错

 

print(os.stat(r'D:\Python\Temp.py'))       在给定的路径上执行一个系统 stat 的调用

 

os.system和 os.popen是执行字符串数据类型的 命令行代码

os.system('dir')                      #  没有返回值

ret = os.popen('dir')               # 是做查看类的操作

                                              # 当os模块满足不了需求时, 用os.system和os.popen

s = ret.read()

print(s)

 

os.listdir / os.path.join

file_list = os,listdir('D:\Python')

for path in file_list:

    print(os.path.join('D:\Python', path))

 

print(os.getcwd())        # 打印当前的工作目录      D:\Python

 

os.chdir('D:\Python')       # 切换到这个路径

ret = os.popen('dir')        # 是和做查看类的操作

s = ret.read

print(s)                            # 打印这个目录下的文件和文件夹

 

path = os.path.abspath('D:/python/模块.py')

print(path)                         # 把路径中不符合规范的/改成\, 把相对路径改成绝对路径

 

path= os.path.split('D:/python/模块.py')

print(path)                         # 切割路径, 输出('D:/python', '模块.py')

 

ret1 = os.path.dirname('D:/python/模块.py')            # 输出('D:/python')

ret2 = os.path.basename('D:/python/模块.py')         # 输出('模块.py')

 

res = os.path.exists(r'D:/python/模块.py')

print(res) # 存在输出True, 不存在输出False

 

res = os.path.isabs('模块.py')

print(res)                                                       # 判断是否是绝对路径, 输出True或False

 

print(os.listdir('D:\python\模块.py'))               # 输出文件夹组成的列表

 

print(os.path.isdir(r'D:\python'))                     # 判断是否是文件夹

print(os.path.isfile(r'D:\python\模块.py'))        # 判断是否是文件

 

path = os.path.join('D:\python','模块.py')        # 组成一个路径

print(path)

 

size= os.path.getsize(r'D:\python\模块.py')     # 查看文件大小

print(size)

 

posted @ 2018-08-20 18:19  NachoLau  阅读(171)  评论(0编辑  收藏  举报