1、import numpy as np
numpy无需多说,应该是运用最多的了。在大阵的矩阵运算中优势十分明显;
2、import tensorflow as tf
Google 开发的第二代人工智能学习系统,搞AI的应该第一行代码就是这个了;
3、import os.path
os.path模块主要用于文件的属性获取。
例:
3.1 os.path.dirname(path) 返回路径
>>> os.path.dirname('home\abiggg\hello.py')
'home\abiggg\'
3.2 os.path.basename(path)返回文件名
>>> os.path.dirname('home\abiggg\hello.py')
'hello.py'
3.3 os.path.isfile(‘home\abiggg\hello.py’) 判断该路径下的文 件是否存在
True
3.4 os.path.join(path1[, path2[, …]]) 将多路径组合
>>>os.path.join(\home, \abig,\hello.py)
\home\abiggg\hello.py
4、import sys
4.1 sys.path 根据sys.path的路径来搜索module.name
Sys.path.append(“\home\abiggg\hello.py”).
将自已写的文 件加入库文件的搜索路径,从而可以用import hello.py 来调用库
4.2 sys.exit(n)中途退出
但是如果需要中途退出程序, 你可以调用sys.exit 函数, 它带有一个可选的整数参数返回给调用它的程序. 这意味着你可以在主程序中捕获对sys.exit 的调用
4.3 sys.argv[number]将外部参数传入程序中
例:Test.py中的代码如下
import sys
print sys.argv[0]
print sys.argv[1]
调用时
>>>test.py test_2
则打印
test.py
test_2
5、import datetime
处理日期和时间的标准库
5.1 datetime.now()
>>> now = datetime.now()
>>> print now
2017-11-10 00:04:49.656000
5.2 timedelta(days、hours、seconds、microseconds)
>>> print now
2017-11-10 00:04:49.656000
>>> now += timedelta(hours=10)
>>> print now
2017-11-10 10:04:49.656000
6、import random
返回随机生成的一个实数,它在[0,1)范围内;
# 生成第一个随机数
print "random() : ", random.random()
# 生成第二个随机数
print "random() : ", random.random()
打印结果
random() : 0.281954791393
random() : 0.309090465205
7、import tarfile
用于压缩与解压
7.1 解压
import tarfile
tar = tarfile.open("sample.tar.gz")
tar.extractall()
tar.close()
7.2 压缩
#创建压缩包名
tar = tarfile.open("/tmp/tartest.tar.gz","w:gz")
#创建压缩包
for root,dir,files in os.walk("/tmp/tartest"):
for file in files:
fullpath = os.path.join(root,file)
tar.add(fullpath)
tar.close()
8、import logging
主要用于输出运行日志,可以设置输出日志的等级、日志保存路径、日志文件回滚等;
import logging
logging.basicConfig(level = logging.INFO,format = '%(asctime)s - %(name)s - %(levelname)s - %(message)s')
logger = logging.getLogger(__name__)
logger.info("Start print log")
logger.debug("Do something")
logger.warning("Something maybe fail.")
logger.info("Finish")
9、import hashlib
加密模块。
hash = hashlib.md5()#md5对象,md5不能反解,但是加密是固定的,就是关系是一一对应,所以有缺陷,可以被对撞出来
hash.update(bytes('admin',encoding='utf-8'))#要对哪个字符串进行加密,就放这里
print(hash.hexdigest())#拿到加密字符串
# hash2=hashlib.sha384()#不同算法,hashlib很多加密算法
# hash2.update(bytes('admin',encoding='utf-8'))
# print(hash.hexdigest())
hash3 = hashlib.md5(bytes('abd',encoding='utf-8'))
''' 如果没有参数,所以md5遵守一个规则,生成同一个对应关系,如果加了参数,
就是在原先加密的基础上再加密一层,这样的话参数只有自己知道,防止被撞库,
因为别人永远拿不到这个参数
'''
hash3.update(bytes('admin',encoding='utf-8'))
print(hash3.hexdigest())
10、import re
正则匹配。
#!python
>>> p = re.compile('(a(b)c)d')
>>> m = p.match('abcd')
>>> m.group(0)
'abcd'
>>> m.group(1)
'abc'
>>> m.group(2)
'b'
11、import struct
结构体对象,通常的打包和解包
"""
打包和解包
"""
import struct
import binascii
values = (1, b'good', 1.22) #查看格式化对照表可知,字符串必须为字节流类型。
s = struct.Struct('I4sf')
packed_data = s.pack(*values)
unpacked_data = s.unpack(packed_data)
print('Original values:', values)
print('Format string :', s.format)
print('Uses :', s.size, 'bytes')
print('Packed Value :', binascii.hexlify(packed_data))
print('Unpacked Type :', type(unpacked_data), ' Value:', unpacked_data)
结果
Original values: (1, b'good', 1.22)
Format string : b'I4sf'
Uses : 12 bytes
Packed Value : b'01000000676f6f64f6289c3f'
Unpacked Type : <class 'tuple'> Value: (1, b'good', 1.2200000286102295)
[Finished in 0.1s]