zoukankan      html  css  js  c++  java
  • 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文件夹
  • 相关阅读:
    perimeter of squares
    map
    django路由
    for的骚用法
    3和5的倍数相加和
    PeteCake 字典和最小值
    Find the missing letter
    实现简单的ssh功能
    开源运维工具体系
    vsftp在iptables中的配置
  • 原文地址:https://www.cnblogs.com/feifeidxl/p/5617894.html
Copyright © 2011-2022 走看看