python-模块

1、模块; 一个python 文件即为一个模块

  标准模块:python 自带的,不需要安装的

   第三方模块: 需要安装的:

  安装方法: cmd ->  pip install XXX  即可自动安装

  手动安装: 

    先下载需要的模块

    然后

   自定义模块: 自己写的

2、import  一个模块的实质:

  把python 文件从头到尾执行一遍。

  模块寻找的路径: 先从当前目录下找;再从环境变量 里面找。

3、常用模块: 参考文件: http://www.nnzhp.cn/archives/150

import os

print(os.getcwd())#取当前工作目录

print(os.chdir("../"))#更改当前目录    . 当前目录;..上层目录

print(os.curdir)#当前目录    #相对路径

 print(os.pardir)#父目录

 print(os.mkdir("test1"))#创建文件夹      #不写绝对路径,则在当前路径写

 print(os.rmdir("test1"))#删除指定的文件夹   #只能删除空文件夹
print(os.remove("test"))#删除文件,不能删除文件夹,只要不写绝对路径则为当前路径下查找
print(os.listdir('.'))#列出一个目录下的所有文件
os.rename("test","test1")#重命名
print(os.stat("len_os.py"))#获取文件信息
print(os.path.abspath(__file__))#获取绝对路径 
print(os.path.split("/usr/hehe/hehe.txt"))#分割路径和文件名
print(os.path.dirname("/usr/local"))#获取父目录
print(os.path.basename("/usr/local"))#获取最后一级,如果是文件显示文件名,如果是目录显示目录名
print(os.path.exists("/usr/local"))#目录/文件是否存在   返回True,False 
print(os.path.isfile("/usr/local"))#判断是否是一个文件  #当“”里边带E:\\test 会将\t 判断为 转义字符, 需要在“”前加 r 即可, 例如r"E:\test"
print(os.path.isdir("/usr/local"))#是否是一个路径
print(os.path.join("/root",'hehe','a.sql'))#拼接成一个路径
 print(os.sep)#当前操作系统的路径分隔符
    print(os.linesep)#当前操作系统的换行符
    print(os.pathsep)#当前系统的环境变量中每个路径的分隔符,linux是:,windows是;
    print(os.environ)#当前系统的环境变量
    print(os.name)#当前系统名称
os.system(‘ifconfig’)    #执行操作系统命令,获取不到结果
os.popen(‘ifconfig’)    #执行操作系统命令,会返回结果 
引入 sys  
import   sys
sys.argv           命令行参数List,第一个元素是程序本身路径   ,参考博客https://www.cnblogs.com/aland-1415/p/6613449.html 
    sys.exit(n)        退出程序,正常退出时exit(0)    #quit()  效果相同
    sys.version        获取Python解释程序的版本信息
    sys.maxint         最大的Int值
    sys.path           返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
    sys.platform       返回操作系统平台名称
    sys.stdout.write('please:')#向屏幕输出一句话
    val sys.stdin.readline()[:-1]#获取输入的值
 

 引入 sys 模块,需要手动执行,不能直接在pycharm 中右键点击执行 

  在pycharm 中右键点击需要运行的文件,点击右键>capy path, 然后在Terminal 中输入 python  然后粘贴 即可。

4、time模块 :

import time
time.sleep(x) #等待x秒
获取当前时间:1格式化好的时间:2018-01-21    2、时间戳
print(time.time()) #当前时间戳, 且为浮点型如果想直接使用,则强制类型转化为int
cur_tim=time.strftime('%Y-%m-%d %H:%M:%S')  #当前时间的格式化时间,结果为:2018-01-14 16:50:06
new_tim=time.strftime('%Y%m%d%H%M%S')    #当前时间的格式化时间,结果为:20180114165006,需要哪个维度,用哪个参数即可

时间戳与标准时间的转化,需求经过时间元组
print(time.gmtime())  #标准时区的时间元组、标准时间(与北京时间不一样)
==========================时间戳转化为格式化的时间
print(time.localtime(1516006661)) #默认为当前时区的时间元组。当前时区的时间
curt_time=time.localtime(1516006661)
res=time.strftime('%Y-%m-%d %H:%M:%S',curt_time)
print(res)            #即可将某一时间戳,转化为格式化的时间格式

时间转化函数: 时间戳转化为格式化的时间
def timestampToStr(time_strmp,format='%Y%m%d%H%M%S'):
curt_time = time.localtime(time_strmp)
res=time.strftime(format,curt_time)
return res

t=timestampToStr(1516006661,'%Y-%m-%d')
print(t)

=============================将格式化时间转化为时间戳:
t=time.strptime('20181128','%Y%m%d')#把时间元组转成时间戳
print(time.mktime(t))

将格式化时间转化为时间戳函数:
def strToTimestamp(time_st,format='%Y%m%d'):
t = time.strptime(time_st,format) # 把时间元组转成时间戳
res=time.mktime(t)
return res
s=strToTimestamp('20180818')

5、random 和string模块:

print(string.digits)
print(string.ascii_lowercase) #小写字母
print(string.ascii_letters) #小写字母+大写字母
print(string.ascii_uppercase) #大写字母
print(string.punctuation) #特殊字符
print (random.randint(1,199))   #1-199随机取一个整数
s=random.choice(['jyj','ws','wwe']) #随机取一个元素
print(s)
random.sample(string.digits,x)  #随机取x个元素
random.uniform(x,xx)#随机在x-xx之间取小数
round(e,x))#为e 保留x位小数, 例如 e=0.239898 x=2  则结果为0.24,四舍五入最后一位小数位0 则不显示
random.shuffle(x)# 打乱属性,x可以是list,不能是字符串,因为字符串不能修改

6、加密模块:

import hashlib
===========================md5加密:
# pwd='nibuzhid'
# m=hashlib.md5()
# bytes_pwd=pwd.encode() #转化为bytes类型
# m.update(bytes_pwd) #加密,加密不能传字符串,只能穿bytes类型,二进制
# print(m.hexdigest()) #加密后的结果
封装的函数: 
def md5_password(st:str):      #指定参数类型为字符串型
bytes_st=st.encode()
m = hashlib.md5(bytes_st)
return m.hexdigest() #返回加密后的结果
res=md5_password('1234567')
print(res)
6、加密模块:
base64 加密

7、datetime模块:   当操作时间戳时 可以使用time 模块,如果只是日期,则可以用datetime 模块

 print(datetime.datetime.today()) #当前时间到秒

print(datetime.datetime.now())      #和today一样
print(datetime.datetime.today().strftime('%S')) #格式化好的时间
print(datetime.datetime.today()+datetime.timedelta(3)) #取三天后的
print(datetime.datetime.today()+datetime.timedelta(-3)) #取三天前的
print(datetime.date.today()) #取当前日期只有日期
 

 


 

 

  

posted @ 2018-01-13 18:29  jyjbeijing  阅读(191)  评论(0)    收藏  举报