1,日期时间格式化
import datetime
#获取当前日期和时间
now = datetime.datetime.now()
print(str(now)
print(now.strftime("%Y-%m-%d %H:%M:%S"))
import pandas as pd
#获取当前日期和时间
now = pd.to_datetime('today')
formatted_date = now.strftime("%Y-%m-%d %H:%M:%S")
print(formatted_date)
print(str(now)
2,文件操作
import os
# 判断文件是否存在,若不存在则创建 1
dc_log_file = r'D:\day_check.log'
if not os.path.exists(dc_log_file):
try:
with open(dc_log_file,'w') as f:
print(f'File {dc_log_file} created successfully.')
except IOError as e:
print("文件操作出错", e)
# 判断文件是否存在,若不存在则创建 2
file_path = "new_file.txt"
if not os.path.exists(file_path):
open(file_path, "w").close()
print(f"文件 {file_path} 创建成功")
else:
print(f"文件 {file_path} 已存在")
# 写文件
#覆盖模式(“w”):打开文件并将内容写入文件,如果文件存在,则覆盖原有内容。如果文件不存在则创建一个新的文件。
#追加模式(“a”):打开文件并将内容写入文件,如果文件存在,则在文件末尾添加内容。如果文件不存在则创建一个新的文件。
#读写模式(“r+”):打开文件供读取和写入,如果文件存在,则覆盖原有内容。如果文件不存在,将抛出FileNotFoundError异常。
# 写入字符串数据
with open("file.txt", "w") as file:
file.write("Hello, World!\n")
file.write("This is a new line.")
try:
with open(dc_config_file, "w") as file:
file.write("#系统配置\n")
file.write("#主目录\ndc_base_p = %s\n\n" % dc_base_p)
file.close()
except IOError as e:
print("文件操作出错", e)
3,目录操作
import os
#判断路径是否存在,若不存在则创建
dc_config_p = r'D:\dc_config'
if not os.path.exists(dc_config_p):
os.makedirs(dc_config_p)
4,操作 excel
import openpyxl
#创建工作簿
wb = openpyxl.Workbook() # 新建工作簿
wb.save(r'.\myexcel.xlsx') # 保存
#创建工作表 excel
import openpyxl
wb = openpyxl.Workbook() # 新建工作簿
sheet = wb.create_sheet('202403', index=1) # 新建工作表
wb.save(r'.\myexcel.xlsx') # 保存
for i in range(1, 11) :
wb.create_sheet('Sheet{i}')
wb.save(r'.\myexcel.xlsx') # 保存
#删除工作表 excel
wb.remove_sheet('202403')
wb.save(r'.\myexcel.xlsx')
wb.close()
#读取工作簿
wb = openpyxl.load_workbook(r'.\myexcel.xlsx')
#所有工作表名称
all_sheet = wb.worksheets
print(all_sheet)
#通过表名获取工作表
sheet = wb.get_sheet_by_name("202403")
print(sheet.title)
sheet = wb['202403']
print(sheet.title)
#获取活跃工作表
active = wb.active
print(active.title)
#更改工作表名称
print('更改前工作表的名称为:', sheet.title)
sheet.title = '202404' # 改工作表名称
wb.save(r'.\myexcel.xlsx')
#复制工作表
new_sheet = wb.copy_worksheet(sheet)
new_sheet.title = sheet.title + '_bak'
wb.save(r'.\myexcel.xlsx')
5,字符串格式化
% 占位符(格式化符)
name = 'Echohye'
print('hi! %s' %(name))
# 输出:hi! Echohye
id = '123'
print('%s的id是%s' %(name, id))
#格式符为真实值预留位置,并控制显示的格式
#语法:
# 字符串中占位:%[flags][width][.precision]TypeCode
# 字符串后面传参:% 被格式化的对象
#参数说明:
# flags :可以有 + - ’ ’ 或 0
# +:表示右对齐
# -:表示左对齐
# ' ':为一个空格,表示在正数的左侧填充一个空格,从而与负数对齐。
# 0:表示使用 0 填充
# width:表示显示宽度
# precision:表示小数点后精度
# TypeCode:类型码,用以控制显示的类型
# %s :以 字符串 的形式显示(采用 str() 的显示)
# %r :以 字符串 的形式显示(采用 repr() 的显示)
# %c :以 单个字符 的形式显示(传参多个字符会报错)
# %b :以 二进制整数 的形式显示
# %d :以 十进制整数 的形式显示
# %i :以 十进制整数 的形式显示
# %o :以 八进制整数 的形式显示
# %x :以 十六进制整数 的形式显示
# %f :以 浮点数 的形式显示,保留小数点后面六位有效数字
# %.2f :保留 2 位小数
# %F :以 浮点数 的形式显示,与上相同
# %e :以 指数 的形式显示(基底写为 e),保留小数点后面六位有效数字
# %.2e :保留 2 位小数位,使用科学计数法
# %E :以 指数 的形式显示(基底写为 E)
# %g :以 指数(e)或浮点数 的形式显示
# 根据显示长度,在保证六位有效数字的前提下,使用小数方式,否则使用科学计数法
# %G :以 指数(E)或浮点数 的形式显示(根据显示长度)
# 占位符宽度输出
# %20s :右对齐,占位符 20 位
# %-20s :左对齐,占位符 20 位
# %.3s :截取 3 位字符
# %20.3s :20 位占位符,截取 3 位字符
# %-10s%10s :左 10 位占位符,右 10 位占位符
6,图形GUI
from tkinter import *
from tkinter import messagebox
# 窗体位置排布 tkinter 提供了三种管理器:pack、grid、place
class Application(Frame):
def __init__(self, master=None):
super().__init__(master)
self.master = master
self.pack()
self.createWidget()
def createWidget(self):
Button(self, text="信息配置", command=dc_pkg.w_info_config).grid(row=0, column=0, pady=10)
Button(self, text="执行检查", command=dc_pkg.w_ck).grid(row=1, column=0, pady=10)
Button(self, text="定时检查", command=dc_pkg.w_ck_p).grid(row=1, column=1, pady=10)
if __name__ == '__main__':
root = tkinter.Tk()
root.geometry("230x230+200+300")
root.title("巡检工具")
app = Application(master=root)
root.mainloop()