import textwrap
import pymssql
from datetime import datetime, timedelta
class Data:
server = ""
user = ""
password = ''
database = ''
list = []
def __init__(self, LogFileName):
self.LogFileName = LogFileName
def UTCtoBJS(self, UTC):
BJS_format = "%Y-%m-%d %H:%M:%S"
UTC = datetime.strptime(UTC, BJS_format)
BJS = UTC + timedelta(hours=8)
BJS = BJS.strftime(BJS_format)
return BJS
def StoreToDatabase(self):
try:
connect = pymssql.connect(self.server, self.user, self.password, self.database)
if connect:
print("连接成功!")
cursor = connect.cursor()
sql = ''
for items in self.list:
sql += textwrap.dedent(items)
cursor.execute(sql)
connect.commit()
self.list.clear()
cursor.close()
connect.close()
else:
print("连接失败!")
except BaseException as ex:
print('抛出异常', ex)
def main(self):
f = open(self.LogFileName, 'r', encoding='UTF-8', errors='replace')
lines = f.readlines()
self.list.clear()
print('开始执行,打印文件名', self.LogFileName)
for line in lines:
if SourceSite in line:
array = line.split(' ', 5)
AccessDate = self.UTCtoBJS('%s %s' % (array[0], array[1]))
SystemPage = array[4][1:len(array[4])]
if 'App Store' in SystemPage:
sql = "INSERT dbo.ChemicalbookAccessData (AccessDate,SourceSite,SystemPage,CreateDate)VALUES(\'%s\',\'%s\',\'%s\',GETDATE());" % (
AccessDate, SourceSite, SystemPage)
self.list.append(sql)
if len(self.list) == 20:
self.StoreToDatabase()
print('每次导入20条数据,导入成功')
if len(self.list) > 0:
print('再来一个导入%s条数据' % (len(self.list)))
self.StoreToDatabase()
print('最后一次导入成功')
print('------------程序结束执行---------------')
if __name__ == '__main__':
dateNow = datetime.now().strftime('u_ex%C%m%d.log')
mm = ChemicalbookAccessData('D:/Projects/' + dateNow)
mm.main()
- Python简单例子 类 函数 类方法 property装饰器方法
class Student:
def __init__(self, name: str, age: int, sex: str):
self.Name = name
self.Age = age
self.Sex = sex
print("__init__ 构造函数调用")
def __del__(self):
print("__del__ 我是一个析构函数")
def speak(self):
print("my name" + self.Name)
self.__speak2()
def __speak2(self):
print("私有函数只能在类的内部访问")
def speak1(self):
print("我是一个被类方法调用的普通函数")
@classmethod
def sayClassMethod(cls, data_string):
print("say hello" + data_string)
cls.speak1(cls)
@property
def sayPropertyMethod(self):
print("property装饰器方法" + str(self.Age))
obj = Student('林则徐', 80, "男")
print(obj.Name)
obj.speak()
obj.sayClassMethod("123")
obj.sayPropertyMethod
obj.Age = 88
obj.sayPropertyMethod
Student.sayClassMethod("类方法")
import time
import json
ticks = time.time()
print(ticks)
print(time.localtime(time.time()))
# 优化格式化化版本
print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())))
# str = input("请输入:")
# print("你输入的内容是: ", str)
# json 序列化反序列化
data = [{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}]
data2 = json.dumps(data)
print(data2)
print(json.loads(data2))
pip install Flask
from flask import Flask
app = Flask(__name__)
@app.route("/")
def index():
return "<h1 style='color:red'>Hello World</h1>"
if __name__ == "__main__":
app.run()
import pymssql
connect = pymssql.connect(host='localhost',
user='sa',
password='123456',
database='safecamera',
charset="utf8") # 建立连接
if connect:
print("连接成功!")
cursor = connect.cursor() # 创建一个游标对象,python里的sql语句都要通过cursor来执行
sql = "SELECT * FROM trade;"
cursor.execute(sql) # 执行sql语句
row = cursor.fetchone() # 读取查询结果,
# 关闭连接
cursor.close()
connect.close()
# 打印下查询结果
print(row)
import pymysql
connect = pymysql.Connect(host='localhost',
port=3306,
user='root',
passwd='123456',
db='safecamera',
charset='utf8')
cursor = connect.cursor()
sql = "SELECT * FROM trade;"
cursor.execute(sql)
ret = cursor.fetchall()
cursor.close()
connect.close()
print(ret)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!