1.python以表名作为变量
1 | cursor.execute('select * from ' + tableName) |
注意:from后面有空格,不然例如tableName为 test,组合后会变成 select * fromtest,会报错。
2.Python获取并输出当前日期时间
1 | import time |
输出的结果是:
1357723206.31
可以利用time模块的格式化时间的方法来处理:1
time.localtime(time.time())
用time.localtime()方法,作用是格式化时间戳为本地的时间。
输出的结果是:1
time.struct_time(tm_year=2010, tm_mon=7, tm_mday=19, tm_hour=22, tm_min=33, tm_sec=39, tm_wday=0, tm_yday=200, tm_isdst=0)
最后用time.strftime()方法,把刚才的一大串信息格式化成我们想要的东西:1
time.strftime('%Y-%m-%d',time.localtime(time.time()))
输出结果是:1
2013-01-09
1 | 输出日期和时间: |
3.报错Python3—UnicodeEncodeError ‘ascii’ codec can’t encode characters in position 0-1
跑代码的时候加上PYTHONIOENCODING=utf-8,即1
PYTHONIOENCODING=utf-8 python your_script.py
指定为utf-8编码。
4.python使用datetime.datetime()函数比较时间
例如1
2datetime1 = datetime.datetime.now()
datetime2 = datetime.datetime(2018,1,1,12,13)
要比较这两个时间的先后,第一个表示当前时间,可能是2019-01-01 12:32:25,第二个是2018-01-01 12:13,可以先相减,然后算出差值秒,为正则表示被减数大,为负则表示被减数小:1
2temp = datetime1 - datetime2
print(temp.total_seconds())
5.判断一天是不是法定节假日/法定工作日(查看节假日安排)
引入 chinesecalendar包1
pip install chinesecalendar
在代码引入1
import chinese_calendar
然后可以调用判断今天是否为工作日等:1
2
3day = datetime.datetime.now()
chinese_calendar.is_workday(day) #返回True或False,下面等同
chinese_calendar.is_holiday(day)
每年会维护,现在维护了2019年全年。
具体可参考https://github.com/LKI/chinese-calendar
6.判断变量是否定义方法
第一种方法使用内置函数locals():
locals():获取已定义对象字典1
'testvar' in locals().keys()
第二种方法使用内置函数dir():
dir():获取已定义对象列表1
'testvar' in dir()
第三种方法使用内置函数vars():
vars():获取已定义对象字典1
vars().has_key('testvar')
测试如下:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21#testvar未定义
print 'testvar' in locals().keys()
#输出:False
print 'testvar' in dir()
#输出:False
print vars().has_key('testvar')
#输出:False
#定义testvar
testvar=1
print 'testvar' in locals().keys()
#输出:True
print 'testvar' in dir()
#输出:True
print vars().has_key('testvar')
#输出:True