关于python 模块导入

__name__指示模块应该如何被加载:

  由于主程序代码无论模块是被导入还是被直接运行都会运行,我们必须知道模块如何决定运行方向。一个应用程序可能需要导入另一个应用程序的一个模块,以便重用一些有用的代码(否则就只能用拷贝粘贴那种非面向对象的笨拙的方法),这种情况的下,你只想访问那些位于其他应用程序中的代码,而不是运行那个应用程序,因此一个问题出现了, “python是否有一个方法,能在运行时检测该模块是被导入还是被直接执行呢?”,答案就是, __name__系统变量就是正确答案;

  1、如果模块是被导入,__name__的值为该模块的名字;

  2、如果模块是被直接执行,__name__的值为‘  __main__  ’;

python 优秀调试器:   pdb

    记录器:logging

     性能测试器: profile  hotshot    cProfile(不是很好)

os模块

ls =  os.linesep  #os.linesep字符串给出当前平台使用的行终止符。例如,Windows使用‘\r\n‘,Linux使用‘\n‘而Mac使用‘\r‘

os.listdir(dirname):列出dirname下的目录和文件

os.getcwd()函数得到当前工作目录,即当前python脚本工作的目录路径

os.getenv() 和os.putevn()函数分别用来读取和设置环境变量

os.curdir:  返回当前目录( ‘ . ‘ )


s.chdir(dirname):改变工作目录到dirname
os.sep 可以取代操作系统特定的路径分割符。
os.name字符串指示你正在使用的平台。比如对于Windows,它是’nt’,而对于Linux/Unix用户,它是’posix’。
os.remove()函数用来删除一个文件。
os.system()函数用来运行shell命令。
os.linesep字符串给出当前平台使用的行终止符。例如,Windows使用’\r\n’,Linux使用’\n’而Mac使用’\r’

os.makedirs(dirname)创建多级目录,如:os.makedirs(‘/data/cc/ll/xx/zz’)
os.mkdir(path) 创建多级目录
os.rmdir(path) # 删除目录 如:WIN: os.rmdir(‘E:\\book\\temp’) LINUX: os.rmdir(‘/data/cc’)
文件拷贝还可用shutil
import shutil
shutil.copyfile(‘listfile.py’, ‘d:/test.py’) #复制文件
shutil.copystat(src,dst) #拷贝文件,连同文件的stat一起拷贝
shutil.copytree(src,dst) #拷贝目录,拷贝之前dst必须不存在

os.path模块
os.path.isdir(name):判断name是不是一个目录,name不是目录就返回false
os.path.isfile(name):判断name是不是一个文件,不存在name也返回false
os.path.exists(name):判断是否存在文件或目录name
os.path.abspath(name):获得绝对路径
os.path.normpath(path):规范path字符串形式
os.path.split(name):分割文件名与目录(事实上,如果你完全使用目录,它也会将最后一个目录作为文件名而分离,同时它不会判断文件或目录>是否存在)
os.path.splitext():分离文件名与扩展名
os.path.join(path,name):连接目录与文件名或目录
os.path.basename(path):返回文件名
os.path.dirname(path):返回文件路径

os.path.getsize(name):获得文件大小(字节大小)如果name是目录返回0L
os.path.getctime(path) 返回浮点数的系统时间,在类Unix系统上是文件最近更改的时间, 在Windows上是文件或目录的创建时间
os.path.getmtime(path) 文件或目录最后更改的时间
os.path.getatime(path) 文件或目录最后存取的时间
os.path.samefile(path1,path2) 如果2个路径指向同样的文件或目录,返回True(Windows上不可用)

glob模块
glob.glob(“*.py”) #返回当前目录下所有以.py为后缀的目录或文件,glob(“*.py”) 里面可用正则去匹配,返回一个LIST列表

 

关于python 模块导入,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。