一、WIN10添加PPPoE拨号连接设置
1.1 右键点击桌面右下角的网络图标,打开网络和共享中心
1.2 在打开的网络和Internet中,从 拨号进入 设置新连接
1.3 在设置连接或网络向导中,选择 连接到Internet,并进入 新连接的设置
1.4 在连接到Internet对连接方式进行选择,一般来说宽带就是PPPoE模式
1.5 在选择之后,就是对用户名和密码,及名称进行设定
二、python 实现
代码如下(示例):
import os
import random
import time
import pymysql
global flag
global time_sum
def connect_ADSL(name,username,password):
cmd_string = f'rasdial {name} {username} {password}'
global flag, time_sum
flag = os.system(cmd_string)
print('flag:', flag)
if flag == 0:
time_sum = random.randint(3, 16)
m = time_sum
while m > 0:
print("time_sum", m)
m -= 1
os.system('ping www.baidu.com')
time.sleep(1)
def disconnect_ADSL(name):
cmd_string = f'rasdial {name} /disconnect'
os.system(cmd_string)
def sql():
conn = pymysql.connect("127.0.0.1", "root", "X", "pppoe")
cursor = conn.cursor()
sql_select = "SELECT user_name,password FROM pppoe where time_sum is null"
cursor.execute(sql_select)
data = cursor.fetchall()
for user in data:
print(user[0], user[1], ' :select:', time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
time_start = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
time_end = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
connect_ADSL('PPPOE', user[0], user[1])
print("flag:", flag)
global time_sum
if flag == 0:
disconnect_ADSL('PPPOE')
time_end = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
sql_update = "UPDATE pppoe set flag =" + "'" + str(flag) + "', " \
"time_sum =" + "'" + str(time_sum) + "', " \
"time_start =" + "'" + time_start + "', " \
"time_end =" + "'" + time_end + \
"' where user_name ='" + user[0] + "'"
cursor.execute(sql_update)
else:
time_sum = 0
sql_update = "UPDATE pppoe set flag =" + "'" + str(flag) + "', " \
"time_sum =" + "'" + str(time_sum) + "', " \
"time_start =" + "'" + time_start + "', " \
"time_end =" + "'" + time_end + \
"' where user_name ='" + user[0] + "'"
cursor.execute(sql_update)
print(time_start, time_end)
conn.commit()
cursor.close()
conn.close()
sql()
附:
Mysql字段varchar类型值前面拼接上0,使用、修改(concat函数的使用)
select concat('0',user_name) from pppoe where flag != 0 and user_name = '7109908416'
update pppoe set user_name = concat('0',user_name) WHERE flag != 0 and user_name like '7%' ORDER BY time_start desc
mysql datetime时间比较 并清空
SELECT * FROM pppoemysql_pppoe3000 where time_end < '2021-08-26 16:40:16'
UPDATE pppoemysql_pppoe3000 set flag=null, time_sum=null, time_start=null,time_end=null where flag= '691'
三. Django 中使用 MySQL 存储时间遇到的问题
Django 在配置文件 settings.py 中对时间时区有影响的是两个参数,一个是 TIME_ZONE,另一个是 USE_TZ。根据 USE_TZ 官网文档中的描述,这一属性默认值是 False。如果设置为 Ture,Django 内部将会使用对时区敏感的时间,否则 Django 将会使用系统本地的原有时间。(注意:为了方便,由 django-admin.py startproject 创建而来的项目 settings.py 中此项值设置为了 Ture)
与这一属性相关的还有 TIME_ZONE, USE_I18N 和 USE_L10N,下面我们来看一下这几个属性。