python sys time datetime openpyxl json 模块

sys模块

sys 模块,主要提供了系统相关的配置和操作,封装了探测、改变解释器
runtime 以及资源的交互。

import sys
#得到解释器的版本信息
print(sys.version)
#得到当前运行平台
print(sys.platform)

sys.argv 获取传递给脚本的参数,参数解析类似于 bash 的方式,第
一个参数代表脚本本身;
sys.stderr , sys.stdin , sys.stdout 这些都分别代表一个文件对象;

import sys
#以列表方式返回传递给脚本的参数
print(sys.argv)
#sys.stderr , sys.stdin , sys.stdout 这些都分别代表一个文件对象;
print(sys.stderr)
print(sys.stdin)
print(sys.stdout)

time及datetime模块

time模块

简介:time模块--时间获取和转换
time模块提供各种时间相关的功能
与时间相关的模块有:time,datetime,calendar
这个模块中定义的大部分函数是调用C平台上的同名函数实现
术语和约定的解释: 1.时间戳(timestamp)的方式:通常来说,时间戳表示的是从1970年1月1日开始按秒计算的偏移量(time.gmtime(0))此模块中的函数无法处理1970纪元年以前的时间或太遥远的未来(处理极限取决于C函数库,对于32位系统而言,是2038年)
2.UTC(Coordinated Universal Time,世界协调时)也叫格林威治天文时间,是世界标准时间.在我国为UTC+8
3.DST(Daylight Saving Time)即夏令时
4.时间元组(time.struct_time对象, time.localtime方法)
5.字符串时间(time.ctime)

常用的时间转换

  import time
     # 把看不懂的时间戳转换为字符串格式
    a=time.time()
    print(a)
    print(time.ctime(a))
    # 把看不懂的时间戳转换为元组格式   
    print(time.localtime(a))

在这里插入图片描述

import time
# 把元组的时间转换为时间戳
tuple_time = time.localtime()
print(time.mktime(tuple_time))
# 把元组的时间转换字符串格式
print(time.strftime('%m-%d',tuple_time))
print(time.strftime('%Y-%m-%d',tuple_time))
print(time.strftime('%T',tuple_time))
print(time.strftime('%F',tuple_time))
# 字符串格式转换为元组
s='2018-10-10'
print(time.strptime(s,'%Y-%m-%d'))
s_time='12:12:30'
print(time.strptime(s_time,'%H:%M:%S'))

在这里插入图片描述
eg:想要得到/etc/group文件的最后一次修改时间,
对应的年月日这些信息,并保存在文件date.txt文件中。

import os
import time
time1 = os.path.getctime('/etc/group')
tuple_time = time.localtime(time1)
year = tuple_time.tm_year
month = tuple_time.tm_mon
day = tuple_time.tm_mday
with open('date.txt', 'w') as f:
    f.write("%d %d %d" %(year, month, day))

datetime模块

from datetime import date
from datetime import  datetime
from  datetime import  timedelta
# 获取当前的日期并且以字符串方式返回
print(date.today())
d=date.today()
print(d)
# 对象加或者减一个时间间隔, 返回一个新的日期对象;
delta = timedelta(days=3)
print(d-delta)
#获取当前时间
d=datetime.now()
print(d)

在这里插入图片描述

namedtupled新型数据类型

因为元组的局限性:不能为元组内部的数据进行命名,所以往往我们并不知道一个元组所要表达的意义,
所以在这里引入了 collections.namedtuple 这个工厂函数,来构造一个带字段名的元组。
具名元组的实例和普通元组消耗的内存一样多,因为字段名都被存在对应的类里面。这个类跟普通的对象
实例比起来也要小一些,因为 Python 不会用 _ dict _ 来存放这些实例的属性。
def namedtuple(typename, field_names, *, verbose=False, rename=False, module=None):

  • typename: 元组名称

  • field_names : 元组中元素的名称

  • rename: 如果元素名称中包含python关键字,必须设置rename=True

    from collections import namedtuple
    user = namedtuple(‘User’,[‘name’,‘age’,‘gender’])
    u = user(‘cooffee’,13,‘male’)
    print(u.name)
    print(u.age)
    print(u.gender)
    print(u)

openpyxl模块

excel文档的基本定义

  • 工作薄(workbook)
  • 工作表(sheet)
  • 活动表(active sheet)
  • 行(row): 1,2,3,4,5,6………
  • 列(column): A,B,C,D………
  • 单元格(cell): B1, C1
import openpyxl
# 打开一个excel文档, class 'openpyxl.workbook.workbook.Workbook'实例化出来的对象
wb = openpyxl.load_workbook('classbox.xlsx')
print(wb,type(wb))
# 获取当前工作薄里所有的工作表, 和正在使用的表;
print(wb.sheetnames)
print(wb.active)
# 选择要操作的工作表, 返回工作表对象
sheet = wb['Sheet1']
# 获取工作表的名称
print(sheet.title)
#返回指定行指定列的单元格信息
print(sheet.cell(row=1,column=2).value)
cell =sheet['B1']
print(cell)
print(cell.row,cell.column,cell.value)
# 获取工作表中行和列的最大值
print(sheet.max_column)
print(sheet.max_row)
sheet.title = "学生信息"
print(sheet.title)
#  访问单元格的所有信息
print(sheet.rows)   # 返回一个生成器, 包含文件的每一行内容, 可以通过便利访问.
# 循环遍历每一行
for row in sheet.rows:
 # 循环遍历每一个单元格
    for cell in row:
    # 获取单元格的内容
        print(cell.value,end=',')
# 保存修改信息
wb.save(filename='classbox1.xlsx')

在这里插入图片描述

json模块

import json
# 将python对象编码成为json的字符串格式;
d={'name':'fentiao'}
jsonstr = json.dumps(d)
print(jsonstr,type(jsonstr))
l = [1,2,3,4]
jsonli=json.dumps(l)
print(jsonli,type(jsonli))
# 将获取的json字符串解码为python的对象
pythonDict = json.loads(jsonstr)
print(pythonDict,type(pythonDict))
# 将将python对象编码成为json的字符串格式并写入文件中;
with open('json.txt', 'w') as f:
    json.dump(d, f)
# 将文件中的json字符串解码为python的对象
with open('json.txt') as f:
    json_Dict = json.load(f)
    print(json_Dict, type(json_Dict))

在这里插入图片描述

©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值