#导入模块 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文件夹