Python_模块

模块
        一个python文件就是一个模块


        标准模块  python自带的,不需要安装,直接import就可以用
        第三方模块  别人写好的,需要安装
        自己写的


        导入模块的实质:
            就是把导入的这个python文件里面的代码,从上到下执行了一遍


        查找模块的顺序:
            1、先从当前目录下查找
            2、从python的环境变量的目录里面找
        如果导入的是一个文件夹,那么会执行这个目录下的__init__.py

 

常用模块

json
time、datetime
os、sys
random

 

os
os.rename('m1.py','M1.py')
os.remove()  删除文件,不能删除文件夹
os.rmdir('test')  删除空文件夹的

os.mkdir('cars/benz')   创建文件夹,父目录不存在的时候不能创建
os.makedirs('cars/bmw')   创建文件夹,如果父目录不存在,会创建父目录


os.listdir()   获取某个目录下的内容,不传参数,默认获取当前目录内容
os.listdir(r'/Users/nhy' )  获取Users/nhy目录(绝对路径)下的内容
os.listdir(r'../day4' )  获取某个目录(相对路径)下的内容
os.sep    当前系统的路径分隔符
  'xxx'+os.sep+'xx'

 

os.system()  /  os.popen() 执行操作系统命令
  command = "ifconfig"
  os.system(command)   执行操作系统命令,返回的是命令是否执行成功,返回0代表成功
  os.popen(command).read()  返回执行结果


os.environ  取系统的环境变量
os.name  当前操作系统的名称
os.getcwd()  获取当前的绝对路径
os.chdir('../day4')   进入到某个目录


os.path.join()  

  os.path.join('e:','moives','sdyjq.mp4')   拼接路径

os.path.split()

  p = "e:/moives/sdyjq.mp4"
  os.path.split(p)   分隔路径,可用来取文件名


os.walk()  获取某个目录下面的内容

  for cur_path,dirs,files in  os.walk(r'/Users/nhy/PycharmProjects/fmz-code'):
    print(cur_path,dirs,files)


os.path.isfile('tools')   判断是否是文件
os.path.isdir('m2.py')  判断是否是文件夹
os.path.exists('m2.py')  判断是否存在
os.path.getsize('m2.py')  获取文件大小,单位是字节
os.path.abspath('m2.py')  获取绝对路径
os.path.abspath(__file__)  获取当前文件的绝对路径
os.path.dirname(p)  取父目录,取上一级目录的


os.path.getctime('m2.py')  获取文件创建时间
os.path.getatime('m2.py')   获取文件最后一次访问时间
os.path.getmtime('m2.py')  获取文件的修改时间,返回的都是时间戳

random
random.randint(100000,999999)  产生随机整数
random.uniform(1,99)  产生随机小数


a = '1223324'
l = [2,23,52,35,235,23,523]
random.choice(l) / random.choice(a)  随机选择一个
random.sample(a,N)   随机选择N个,返回list
random.sample
random.shuffle(l)   洗牌,这个函数没有返回值,他会改变原来list的值


time
时间戳,从计算机诞生那一天到现在过了多少秒 1621063294
格式化好的时间 2021-5-15 19:38:23

int(time.time())  获取当前的时间戳
time.strftime('%Y-%m-%d %H:%M:%S')  取当前格式化好的时间,Y是年的全部2021,y是年的后两位21
time.strftime('%Y-%m-%d')  取当前格式化好的时间

时间元组
时间戳转格式化好的时间
  time_tuple = time.gmtime(1621069561)  取的是标准时区的时间
  time_tuple = time.localtime(1772125523)  取的是当前时区的时间
时间戳转时间元组
  time.strftime('%Y-%m-%d %H:%M:%S',time_tuple)
格式化好的时间转时间戳
  time_tuple = time.strptime('2026-02-27 01:05:23','%Y-%m-%d %H:%M:%S')
  print( int(time.mktime(time_tuple) ))


def str_to_timestamp(s=None,format="%Y-%m-%d %H:%M:%S"):
  '''
  :param s: 格式化好的时间,比如2021-5-16 17:06:32
  :param format: 时间格式 %Y-%m-%d %H:%M:%S
  :return: 返回的是一个时间戳,如果不传s,默认返回当前时间戳
  '''
  if s:
    time_tuple = time.strptime(s, format)
    return int(time.mktime(time_tuple))
  return int(time.time())


def timestamp_to_str(timestame=None,format="%Y-%m-%d %H:%M:%S"):
    '''
    :param timestame: 时间戳
    :param format: 时间格式 %Y-%m-%d %H:%M:%S
    :return: 返回的是格式化好的时间,如果不传时间戳,那么返回当前的时间
    '''
    if timestame:
        time_tuple = time.localtime(timestame)
        return time.strftime(format,time_tuple)
    return time.strftime(format)

 

faker模块    随机生成
f = faker.Faker(locale="zh_CN")
print(dir(f))  打印所有方法

print(f.name()) #随机姓名
print(f.address()) #随机街道
print(f.city()) #随机城市
print(f.chrome()) #随机姓名
print(f.date_time()) #随机时间
print(f.user_name()) #用户名
print(f.street_address()) #街道名
print(f.phone_number()) #手机号
print(f.credit_card_full()) #全的信用卡信息
print(f.credit_card_number()) #信用卡
print(f.free_email()) #邮箱
print(f.ipv4()) #ip地址
print(f.ipv6()) #ip地址
print(f.name_female()) #女名字
print(f.name_male()) #男名字
print(f.ssn()) #身份证号

posted @ 2021-05-18 20:55  我是我的女神  阅读(57)  评论(0)    收藏  举报