美文网首页
三、python模块初识

三、python模块初识

作者: 佘红响 | 来源:发表于2017-07-16 21:26 被阅读11次
    • 一、模块初识
      Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相应的Python库支持,以后的课程中会深入讲解常用到的各种库,现在,我们先来象征性的学2个简单的。
    • sys
    # Author:Scott She
    import sys
    print(sys.path)       # 打印环境变量
    print(sys.argv)
    print(sys.argv[2])    # 如果执行文件时候传入的参数多于或等于三个成立, 否则会报错
    

    输入:
    $ python sys_mod.py hello world
    输出(把执行脚本时传递的参数获取到了)
    ['sys_mod.py', 'helo', 'world']

    • **os: ** 调用系统命令
    # Author:Scott She
    import os
    # cmd_res = os.system("ls")       # 执行命令, 不保存结果
    cmd_res = os.popen("ls").read()   # 执行命令, 保存结果, read()函数从返回对象中取结果
    print("-->", cmd_res)
    os.mkdir("new_file")              # 创建目录
    
    • 导入自定义模块
    # Author:Scott She
    # 1.导入自定义的guess模块, 默认会在当前目录下找;
    # 2.当前目录找不到的话会在系统环境变量中找, 找不到的话报错
    import guess    # 这里的guess模块为day1(练习代码)中的guess.py
    

    若报错,
    1.将guess.py拷贝到当前目录下;
    2.将guess.py拷贝到/usr/local/lib/python3.6/site-packages目录下(这是我的系统的site-packages的路径, site-packages一般存放三方库)

    • 二、.pyc是个什么
    • python到底是什么
      其实Python和Java/C#一样,也是一门基于虚拟机的语言,我们先来从表面上简单地了解一下Python程序的运行过程吧。
      当我们在命令行中输入python hello.py时,其实是激活了Python的“解释器”,告诉“解释器”:你要开始工作了。可是在“解释”之前,其实执行的第一项工作和Java一样,是编译。
      熟悉Java的同学可以想一下我们在命令行中如何执行一个Java的程序:
      javac hello.java
      java hello
    只是我们在用Eclipse之类的IDE时,将这两部给融合成了一部而已。其实Python也一样,当我们执行python hello.py时,他也一样执行了这么一个过程,所以我们应该这样来描述Python,Python是一门先编译后解释的语言。
    
    • 简述Python的运行过程
      在说这个问题之前,我们先来说两个概念,PyCodeObject和pyc文件。
    我们在硬盘上看到的pyc自然不必多说,而其实PyCodeObject则是Python编译器真正编译成的结果。我们先简单知道就可以了,继续向下看。
    
    当python程序运行时,编译的结果则是保存在位于内存中的PyCodeObject中,当Python程序运行结束时,Python解释器则将PyCodeObject写回到pyc文件中。
    
    当python程序第二次运行时,首先程序会在硬盘中寻找pyc文件,如果找到,则直接载入,否则就重复上面的过程。
    
    所以我们应该这样来定位PyCodeObject和pyc文件,我们说pyc文件其实是PyCodeObject的一种持久化保存方式。
    

    .pyc 路径: /usr/local/lib/python3.6/site-packages/_pycache_

    相关文章

      网友评论

          本文标题:三、python模块初识

          本文链接:https://www.haomeiwen.com/subject/rzkxkxtx.html