笔记:python的一些小应用

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()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值