1、os模块,都是和操作系统相关的模块,用实例证明,code如下:
import os
os.remove('a.txt') #删除
os.rename('a.txt','AA.txt') #重命名,前面是old,后面是new
#=========================================
#只创建一级的目录,二者没有什么区别
#创建多层目录,只能用os.makedirs。
# os.mkdir('python') #创建文件夹
# os.makedirs('lmm')
# os.mkdir('china/beijing') #FileNotFoundError: [Errno 2] No such file or directory: 'china/beijing'
# os.makedirs('china/beijing') #OK,父目录不存在会帮忙创建。
# os.removedirs('china') #删除一个空的文件夹目录
#=========================================
#获取某个目录下所有的东西,文件夹与文件
# print(os.listdir('/Users/XX/Desktop/python学习/'))
# print(os.path.isdir('china')) #判断是否是文件夹
# print(os.path.isfile('china'))
# print(os.path.isfile('test.py')) #判断是否是文件。
# print(os.path.exists('china')) #判断文件或者文件夹是否存在
# os.system('ifconfig') #执行当前操作系统命令,无返回值
# os.system('ls') #查看当前目录下有什么东西
# os.system('ls -a') #详细查看当前目录下有什么东西,只要是操作系统命令都可以执行。
# res = os.popen('ifconfig').read()# 也是用来执行操作系统命令的。
# print(res)
# print(os.path.join('china','海淀','西二旗','沃尔玛','a.py')) #目录拼接,可以多个目录
# print(os.path.split('/Users/XX/Desktop/python学习/')) #路径分割
# print(os.path.split('/Users/XX/Desktop/python学习/笔记.txt')) #路径分割
#========================================
#将目录与文件或者文件夹分割开来。
#
# print(os.path.dirname('/Users/Man/Desktop/python学习/笔记.txt')) #取父目录
# print(os.path.dirname('/Users/Man/Desktop/python学习/')) #取父目录
# print(os.path.getsize('/Users/Man/Desktop/python学习/笔记.txt')) #文件或者文件夹所占大小单位是字节
# print(os.path.getsize('/Users/Man/Desktop/python学习/')) #文件或者文件夹所占大小,单位是字节
# print(os.getcwd()) #取当前目录
# os.chdir('/Users/Man/Desktop/python自动化学习/Day5-2') #进入到。。目录
# print(os.getcwd()) #切换目录后,再取当前目录,就是切换后的目录了。
# print(os.path.getctime()) #查看当前文件创建时间等等,自己查看
2、time模块,操作时间相关的。
表示时间有两种方式:1、格式化好的如:2019-02-04 23:43:59 2、时间戳【从计算机诞生到现在过去了多少秒】
举例说明:
import time
res = time.strftime('%Y-%m-%d') #Y是2019,y是19 #获取格式化好的时间。
res = time.strftime('%Y') #Y是2019,y是19 #获取格式化好的时间。
res = time.strftime('%m') #Y是2019,y是19 #获取格式化好的时间。
res = time.strftime('%H:%M:%S') #时分秒必须用全大写字母,可以只取当前格式化好的时间。
res = time.time()#获取当前的时间戳,
print(res)#直接使用,精确到毫秒,可以去掉小数位。
print(int(res))
#===================================
#格式化好的时间与时间戳的转换需要一个中间量:时间元祖
#1、将格式化好的时间转为时间戳如下:
#把格式化好的时间转成时间元祖,两个元素的格式一定要一样
time_tuple = time.strptime('2028-08-29 12:24:38','%Y-%m-%d %H:%M:%S')
res = time.mktime(time_tuple) #将时间元祖转为时间戳
#2、将时间戳转换为格式化好的时间
res = time.localtime(time.time()) #将当地时区时间戳转为时间元祖
res = time.strftime('%Y-%m-%d %H:%M:%S',res) #res为时间元祖,不传res,默认为当前时间。
print(res)
3、hashlib模块,主要是用来使用加密的。目前md5加密不可逆的。md5无论加密字符串有多长结果都是32位的。
import hashlib
password = '123456'
password = password.encode() #将字符串转换为二进制
m = hashlib.md5(password) #二进制的数据才可以加密
# m = hashlib.sha1(password) #加密后40
# m = hashlib.sha224(password)#加密后56
# m = hashlib.sha256(password) #加密后64,都不可以解密。
# print(dir(m)) #查看某一个变量下有哪些方法。
print(m.hexdigest()) #md5加密后。
print(len(m.hexdigest())) #查看加密后的长度
加盐是安全策略的一种。写一个自己使用的md5算法,加盐默认为空如下:
#有盐就加,没盐默认md5加密。
def my_md5(s:str,salt=None):
if salt:
s = s+salt
m = hashlib.md5(s.encode())
return m.hexdigest()
4、操作第三方模块
首先说下第三方模块的安装方式:
1、pip install xx
2、.whl文件, 直接使用:pip install xxx.whl[可以写绝对路径或者到该文件的目录下执行]
3、.tar.gz文件[如果安装过了,这种方式不会报已经安装,只会卸载掉老的重新安装。]
写一个方法说明下Python操作数据库的方法:
def my_db(ip,user,password,db,sql,port=3306,charset='utf8',autocommit=True):
conn = pymysql.connect(host=ip,db=db,user=user,password=password,port=port,charset=charset,autocommit=True) #数据库连接
cur = conn.cursor()#创建游标
cur.execute(sql) #执行SQL
res = cur.fetchall()#获取执行SQL的结果
cur.close() #关闭游标
conn.close()#关闭数据库连接
return res
5、操作excel
5.1、写excel,举例说明,往一个excel里写入几行数据,最传统的方式如下:
import xlwt
book = xlwt.Workbook()
sheet = book.add_sheet('0203')
stus = [
[1,'njf','123456'],
[2,'lrr','123456'],
[3,'lmm','123456'],
[4,'lii','123456'],
[5,'xqd','123456']
]
line = 0 #控制行
for stu in stus:#行
rol = 0
for cont in stu:
sheet.write(line,rol,cont)
rol += 1
line += 1
book.save('stu.xls')
5.2、读excel,举例说明常用的用法:
import xlrd
book = xlrd.open_workbook('stu.xls')
sheet = book.sheet_by_index(0) #第几个sheet页
# sheet = book.sheet_by_name('sheet1') #根据sheet页名字来
print(sheet.nrows) #excel里有多少行
print(sheet.ncols) #excel里有多少行
for i in range(sheet.nrows):#循环获取每行的内容。
print(sheet.row_values(i))
# #如何获取到指定的单元格的内容
print(sheet.cell(0,0).value)
print(sheet.cell(0,1).value)
# #获取到整行或者整列的内容
print(sheet.row_values(0)) #获取到整行的内容
print(sheet.col_values(0)) #获取到整列的内容
5.3、操作修改excel,举例
import xlutils
import xlrd #这两个配合着一起使用
from xlutils import copy
book = xlrd.open_workbook('stu.xls')
#先用xlrd打开一个excel
new_book = copy.copy(book) #复制一份
#然后再用xlutils里面的copy功能,复制一excel
sheet = new_book.get_sheet(0) #获取到第几个sheet页
sheet.write(0,1,'中国人')
sheet.write(1,1,'美国人')
new_book.save('stu.xls')
最初练习,从最基础的算法逻辑做起!!!