module+standard library.py

#导入模块
import sys
sys.path
sys.path.append('D:program filesPython34PyWorks')    #hello.py文件路径
            #不用append PyWorks路径也可以,因为D:program filesPython34在sys.path中
import hello    #第一次导入会执行,路径增加.pyc文件
import hello    #第二次不会执行
#执行第二次的方法(假如hello修改后需要再重新导入)
import imp
imp.reload(hello) 
'''
#从模块导入函数:
import somemodule
from somemodule import somefunction
from sommodule import function1,function2,functoin3 
from somemodule import *
import somemodule as module
from somemodule import somefunction as functoin
'''

print('__name__ =',__name__)    #__name__ = __main__
print('hello.__name__ =',hello.__name__)    #hello.__name__ = hello
hello.hello()

#不修改sys.path导入模块的方法
#1,将模块放置在合适的位置
import pprint   #如果数据结构过大,不能在一行打印完,可以用pprint
pprint.pprint(sys.path)
#解释器可以从这些目录中找到所需的模块
#site-packages目录是最佳选择,因为它就是用来做这些事的

#2,告诉解释器去哪里找
#不希望将自己的模块填满Python解释器目录
#没有在Python解释器目录中存储文件的权限
#想将模块放在其他地方
#编辑sys.path,这不是通用的方法。标准方法是在PYTHONPATH环境变量中包含模块所在目录

#
#当模块存储在文件中时(扩展名为.py),包就是模块所在的目录
#为了让Python将其作为包对待,他必须包含一个名为__init__py的文件(模块)
import PyWorks  #只有__init__模块可用,hello,if_test不可用
import PyWorks.hello    #hello模块可用,但只能通过全名PyWorks.hello 来使用
from PyWorks import if_test     #if_test模块可用,可通过短名if_test使用

#dir函数
#查看模块包含的内容,所有函数,类,变量
print(dir(hello))
print([n for n in dir(hello) if not n.startswith('_')])

#__all__
#在模块内部设置的。from module import * 时可以屏蔽不想要的变量,函数,类
#还是可以通过from module import function 或module.function访问
#在模块内部被设置。
__all__=['a','b','c']

#__doc__,help(module)
#查看模块帮助

#__file__
#查看模块文件的位置

#标准库
#sys,os,fileinput,set,heap,deque,time,random
#fileinput
#>>>python some_script.py file1.txt file2.txt file3.txt
#依次对fili1到file3文件中所有行进行遍历。
#函数file.input,filename,lineno,filelineno,isfirstline,isstdin,nextfile,close

#shelve P188
#在文件中存储数据,当做字典用
import shelve
db=shelve.open(r'F:	est.dat',writeback=True)  #shelve创建一定的是.dat文件
person={}
person['name']=['a','b']
person['age']=[1,2,3]
db['1']=person
db['2']=person
print(db['1']['name'])
db['1']['name'].append('c') #这句不会写入shelve
print(db['1']['name'])
tmp=db['1']['name']
tmp.append('c')
print(tmp)
db['1']['name']=tmp
print(db['1']['name'])
db.close()

#re
#参见regular文件夹
原文地址:https://www.cnblogs.com/feifeidxl/p/5617894.html