Day6-常用模块的使用
import os #对操作系统的一些操作 # print(os.getcwd())#取当前工作目录 # os.chmod("x.py",2)#给文件/目录加权限,对Windows的下面不好使 # 1 执行 # 2 写 # 4 读 # #chmod # print(os.chdir("../day5"))#更改当前目录 # print(os.getcwd()) # # print(os.makedirs("nhy/python"))#递归创建文件夹,父目录不存在时创建父目录 # print(os.mkdir("zll/huangrong"))#创建文件夹 #makedirs 创建文件夹的时候,如果父目录不存在会自动帮你创建父目录 # print(os.removedirs("nhy/python"))#递归删除空目录 # print(os.rmdir("test2"))#删除指定的文件夹 #只能删除空目录 # os.remove("test2")#只能删除文件 # os.rmdir('test2') #只能删文件夹 # print(os.listdir('e:\\'))#列出一个目录下的所有文件 # os.rename("test","test1")#重命名 # print(os.stat("x.py"))#获取文件信息 print(os.sep)#当前操作系统的路径分隔符 # # day5+os.sep+x.py # print(os.linesep)#当前操作系统的换行符 # \n \r\n # print(os.pathsep)#当前系统的环境变量中每个路径的分隔符,linux是:,windows是; # print(os.environ)#当前系统的环境变量 # print(os.name)#当前系统名称 Windows系统都是nt linux都是posix # res = os.system('ipconfig') #执行操作系统命令的,但是获取不到结果 #res = os.popen('ipconfig').read() #可以获取到命令执行的结果 # __file__ #获取到当前文件的绝对路径 # print(os.path.abspath(__file__))#获取绝对路径 # print(os.path.split("/usr/hehe/hehe.txt"))#分割路径和文件名 # print(os.path.dirname("e:\\syz\\ly-code"))#获取父目录,获取它的上一级目录 # print(os.path.basename("e:\\syz\\ly-code\\a.txt"))#获取最后一级,如果是文件显示文件名,如果是目录显示目录名 # print(os.path.exists(r"E:\syz\ly-code\day6"))#目录/文件是否存在 # print(os.path.isabs("../day5"))#判断是否是绝对路径 # print(os.path.isfile("xiaohei.py")) #判断是否是一个文件,1、文件要存在2、必须是一个文件 # print(os.path.isdir("e:\\syz1"))#是否是一个路径,目录是否存在 size = os.path.getsize('x.py') #获取文件的大小
# print(os.path.join("root",'hehe','mysql','a.sql'))#拼接成一个路径
# for abs_path,dir,file in os.walk(r'E:\syz\ly-code\day6'): #获取目录下内容 os.listdir()
# #
# print(abs_path,dir,file)
# abs_path 当前循环的绝对路径
# dir 目录下面所有的文件夹 [ ]
# file 目录下面的所有文件 []
使用os模块获取文件夹里的所有文件名,文件名包含绝对路径
def get_filename(dir_name): # 获取路径下的所有文件的绝对路径 res = [] for abs_path, dir, file in os.walk(dir_name): for f in file: file_name = os.path.join(abs_path, f) res.append(file_name) return res
os模块还可以用来获取文件的创建时间,修改时间,访问时间,代码如下
a = os.stat(r'C:\Users\虫子\Desktop\new2.txt') # st_atime (访问时间), st_mtime (修改时间), st_ctime(创建时间) print('访问时间:', time.localtime(a.st_atime)) print('修改时间:', time.ctime(a.st_mtime)) print('创建时间:', time.ctime(a.st_ctime))
sys模块的一些应用
import sys # print(sys.platform) #判断操作系统 # #python的环境变量 # sys.path.append(r'E:\syz\ly-code\day5') # sys.path.insert(0,r'E:\syz\ly-code\day5') # print(sys.path)
应用sys模块里argv 函数,可以给自己的模块写一些帮助文档
import sys a = sys.argv # 用来获取命令行里运行python文件时传入的参数 print(a) if len(a) > 1: cmd1 = a[1] if cmd1 == '-help': print('这是个帮助文档\n这个python文件是用来说明sys.argv的作用') elif cmd1 == '-os': print('当前的操作系统是:%s' % sys.platform) else: print('输入命令有误') else: print('运行Python的时候要传入一个参数' 'e.g\n' 'python %s install' % a[0])
hashlib模块,将字符串转换成固定长度的哈希码
import hashlib s = '123456' md5 = hashlib.md5() md5.update(s.encode('utf-8')) # 不能直接加密,要先把字符串转成bytes类型 print(md5.hexdigest()) def my_md5(s): # 将传入的字符串转成哈希码 import hashlib md5 = hashlib.md5() # 实例化 md5 对象 md5.update(s.encode('utf-8')) # 字符串必须转成bytes类型 return md5.hexdigest()
time 模块
import time print(time.time()) # 获取当前时间戳 today = time.strftime('%d') print(type(today)) print(time.gmtime()) print(time.localtime(1231546546)) # 获取当前时区的时间 s = time.localtime(1231546546) s1 = time.strftime('%Y/%m/%d %H:%M:%S', s) print(s1) def timestamp2format(timestamp=None, fomat='%Y/%m/%d %H:%M:%S'): # 默认返回当前格式化好的时间,传入时间戳,返回指定格式的时间 if timestamp: time_tuple = time.localtime(timestamp) res = time.strftime(fomat, time_tuple) else: res = time.strftime(fomat) return res t_tuple = time.strptime('2018-1-4','%Y-%m-%d') # 把格式化好的时间转成时间元组 t_stamp = time.mktime(t_tuple) print(t_stamp) def str2timestamp(str=None, format='%Y-%m-%d'): # 指定格式的字符串转换成时间戳 if str: t_tuple = time.strptime(str, format) t_stamp = time.mktime(t_tuple) else: t_stamp = time.time() return t_stamp print(str2timestamp('2018-17-18', '%Y-%H-%M'))
datetime模块的功能和time的功能大体上都相似
import datetime today = datetime.datetime.today() # 获取当前时间精确到秒 print(today) today = datetime.date.today() # 获取当前时间,精确到天 print(today) res = datetime.date.today() + datetime.timedelta(days=-5) print(res)
操作数据库,以使用 pymysql 模块为例,代码如下
import pymysql # 连上数据库, 账号,密码,ip端口号 数据库 # 建立游标 # 执行sql # 获取结果 # 关闭游标 # 连接关闭 conn = pymysql.connect(host='127.0.0.1',user='root',port=3306,db='mysql',charset='utf8',password='mysql') cur = conn.cursor() # 建立游标 cur.execute('select * from menu') # 执行sql语句 # conn.commit() res = cur.fetchall() # 获取所有结果 print(res) cur.close() conn.close()
把数据写入 excel 表格
import xlrd,xlwt book = xlwt.Workbook() sheet = book.add_sheet('sheet1') sheet.write(0,0,'id') # 行,列,内容 sheet.write(0,1,'name') sheet.write(0,2,'sex') book.save('stu.xls')# 结尾用 xls

浙公网安备 33010602011771号