python:常用操作(一)

1.生成随机数

1
2
import random
print(3 * random.random())

生成0-3的随机数。

1
print(random.randint(0,99))

生成0-99的随机整数。

还有很多,用的不多,临时百度。

2.MD5加密

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 由于MD5模块在python3中被移除
# 在python3中使用hashlib模块进行md5操作

import hashlib

# 待加密信息
str = 'this is a md5 test.'

# 创建md5对象
hl = hashlib.md5()

# Tips
# 此处必须声明encode
# 若写法为hl.update(str) 报错为: Unicode-objects must be encoded before hashing
hl.update(str.encode(encoding='utf-8'))

print('MD5加密前为 :' + str)
print('MD5加密后为 :' + hl.hexdigest())

可以将hl定义在类中,每次类调用该hl,可以不用每次都生成。

3.数据库timestamp时间插入

1
2
3
import time

print(time.localtime())

输出:

1
time.struct_time(tm_year=2018, tm_mon=11, tm_mday=26, tm_hour=16, tm_min=35, tm_sec=51, tm_wday=0, tm_yday=330, tm_isdst=0)

4.list元素拼接为字符串

1
2
3
4
5
b = ['p', 'a', 'n', ';']
k = ''.join(b)
>>> k = ''.join(b)
>>> k
'pan;'

5.tuple注意点

tuple是不可变的,提供了一种完整的约束性,但是它支持的操作比较少(如果元组中含有一个list或者
dict,list和dict还是能改变的)。

6.文件二进制读写

文件写入二进制,使用

1
2
data = open("a.txt",'rb')
data.write(all)

7.单个表达式代替循环

1
2
3
4
L = [x + 10 for x in L]
# 效率高于
for i in L:
res.append(i+10)

8.读取文件最好的方式是不要打开

1
2
3
for line in open('test.txt'):
print(line, end='')
# end=''是为了除去每一行的\n,可以不用replace

9.去除line里的换行符

1
2
3
f = open('test.text')
lines = f.readlines()
lines = [line.rstrip() for line in lines]

10.对文件进行简单操作的可行处理方法

1
lines = [line.upper() for lin in open('test.txt')]

11.对lines进行较为复杂的操作

1
2
lines = [line.rstrip() for line in open('test.txt') if line[0] == 'p']
# 结果是只留下第一个字符是p的元素

12.两个list进行拼接

1
2
3
>>> z = [x + y for x in 'abc' for y in 'lmn']
>>> z
['al', 'am', 'an', 'bl', 'bm', 'bn', 'cl', 'cm', 'cn']

13.判断dict是否有该键

1
2
3
4
5
value = d.get('x',0)
# 表示如果字典d里有键为x的,返回x的值,如果没有,返回0;
# 也可以写为:
value = d['x'] if 'x' in d else 0
# emmm其实我觉得这个也挺好理解的,但是有点长。
-------------本文结束 感谢您的阅读-------------