http://www.cnblogs.com/alex3714/articles/5161349.html
# 定义
# 模块:用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能),本质就
# 是.py结尾的python文件(文件名:test.py,对应的模块名:test)
# 包:用来从逻辑上组织模块的,本质就一个目录(必须带有一个_init.py文件)
# 2.导入方法
# import module name
# import moduleI name,module2 name
# from module alex import*-
# from modulealex import ml,m2,m3
# from module_alex import logger as logger_alex 如果重复的话,可以用这个
#
# 特别需要注意的几个:
# sys.path 现在Python会读的几个目录名。
# os.path.dirname( ) 获取当前的目录名
# os.path.abspath(__file__) 这个是绝对目录,里面的__file__是当前文件的意思
# . 这个就是当前目录和linux一样的。
#
#
# 3.import本质(路径搜索和搜索路径)
# 导入模块的本质就是把python文件解释一遍
# (import test test='test.py all code'
# (from test import name name='code')
# import module_name-->module_name.py---->module_name.py的路径-->sys.path
# 导入包的本质就是执行该包下的_init.py文件。所以可以在__init__里面加入 比如 from . import 某个模块名
# 这样的方式,来预先解释包里面的某个模块,从而使得模块可以使用。
# 4.导入优化
# from 模块 import 函数名
# 简单优化一下。
# 5.标注库
# 1.time与datetime
# strftime("格式",struct time)--->“格式化的字符串"
# strptime(“格式化的字符事”,“格式")->struct_time
# >>>time.strftime("%m:%d %H:%M:%S %Y",x)#%Y:x.tm_year %m:x.tm_mon
# '2016-08:2014:31:52'
# >>>time.strptime('2016-08:20 14:31:52',"%Y-%m:%S %H:%M:%d")
# time.struct_time(tm_year=2016,tm_mon=8,tm_mday=20,tm hour=14,tm min
# yday=233,tm_isdst=-1)
# x.tm_year=2016
# 最重要的是:获取目前的标准时间。
# time.asctime(time.localtime()) 元祖为变量
# # time.ctime(time.time()) 时间戳为变量
# import datetime
# datetime模块需要注意的东西
# n = datetimt.datetime.now() 当前时间,非常见格式 ,为datetime对象
# datetime.datetime.now().ctime() 显示常见格式。
# k = datetime.timedelta(minutes=20,hours==2,days=2) 计算时间间隔用。
# two_day_2_hours_20_min_later = n + k
# two_day_2_hours_20_min_later.ctime()
# 2.random模块
# import random
# random.random() 出现0-1的随机数
# random.randint(2,6) 随机在出现2-6的整数,含有6
# random.randrange(2,6) 随机出现2-6,不含有6的整数;range是顾前不顾后的。
# random.choice([13,4,2,5]) 从列表中中随机选一个
# l = [1,2,3,4,5,6,7]
# random.shuffle(l) 打乱列表顺序。
#
#
#
# 操作系统进行调用的接口
# os.getcwd()获取当前工作自录,即当前python脚本工作的目录路径
# os.chdir("dirname")改变当前脚本工作目录;相当于she11下cd
# os.curdir 返回当前目录('.')
# os.pardir获取当前目录的父目泉字符串名:('..'')
# os.makedirs('dirname1/dirname2') 递归地创建目录
# os.remove('dirname')
# os.mkdir('dicname') 生成单极目录
# os.rmdir(“dirname')删除单级空目录,若自录不为空则无法删除,报错;相当于shel1中rmdir dirnane
# os.1istdir('dirname”)列出指定目录下的所有文件和子目录,包括隐蒸文件,并以列表方式打印
# os.remove()T 删除一个文件
# os.renane("oldname","newname")重命名文件/目录
# os.sep 输出操作系统特定的路径分隔符,win下为“\\”,Linux下为/”
# os.1inesep 输出当前平台使用的行终止符,win下为\t\n”,Linux下为“\n”
# os.pathsep 输出用于分割文件路径的字符串
# os.name 输出字符串指示当前使用平台。'win->nt';'Linux->posix'
# os.system("bash command")运行she11命令,直接显示
# os.path.abspath(path) 返回path规英化的绝对路径
# os.path.split(poth)将path分制成目录和文件名一元组返回高,A
# os.path.dirname(path)返国ath的国易:其容多就名高R品上地::P考式(9理营))现吸家参适简全值。B即os.path.split(path)的
# os.path.basename(path).返回path最后的文件名,如果没有文件名,则返回空值。
# os.path.isabs(path) 如果path是绝对路径,返回True
# os.path.isfile(path) path是一个存在的文件,返回true。否贝返false
# os.path.isdir(path) 如果path是个存存在的目录。返回true。否贝返false
# os.path.join(path[,path2,path3]) 将目录组合后返回,第一个必须是绝对路径,否则被忽略,自动下一个
# os.path.getatime(path) 获取目录的最近存取时间
# os.path.getmtime(path) 获取目录的最近更改时间。
import sys
#
# sys.argv 用于脚本外部直接传参数,命令行参数List,第一个元素是程序本身路径
# sys.exit(n) 退出程序,正常退出时exit(0)
# sys.version 获取Python解释程序的版本信息
# sys.maxint 最大的Int值
# sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
# sys.platform 返回操作系统平台名称
# sys.append()
# sys.stdout.write('please:')
# val = sys.stdin.readline()[:-1]
#
# shutil 模块
# shutil.copyfile(f1, f2) 将f1拷贝到f2中。
shelve 模块,就是一种存储的方式。
shelve模块是一个简单的k,v将内存数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据格式.
import
shelve
d
=
shelve.
open
(
'shelve_test'
)
#打开一个文件
class
Test(
object
):
def
__init__(
self
,n):
self
.n
=
n
t
=
Test(
123
)
t2
=
Test(
123334
)
name
=
[
"alex"
,
"rain"
,
"test"
]
d[
"test"
]
=
name
#持久化列表
d[
"t1"
]
=
t
#持久化类
d[
"t2"
]
=
t2
d.close()
shelve模块是一个简单的k,v将内存数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据格式
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | import shelve d = shelve. open ( 'shelve_test' ) #打开一个文件 class Test( object ): def __init__( self ,n): self .n = n t = Test( 123 ) t2 = Test( 123334 ) name = [ "alex" , "rain" , "test" ] d[ "test" ] = name #持久化列表 d[ "t1" ] = t #持久化类 d[ "t2" ] = t2 d.close() |