一个.py文件就是一个模块,而模块名就是文件名,如module.py的模块名就是module。
如果module.py文件里定义了一些函数和变量,而外部文件如test_module.py想使用
这些函数或变量,那么test_module.py里可以使用import语句来引入该模块。
使用方法是在文件的第一行 import 模块名,如import module,若要使用module模块内的
某个函数或变量,如func_test函数,则可以这样使用模块名.函数名(变量名),
即module.func_test().当运行test_module.py模块时,会自动产生一个名为module.pyc文件,
该文件是module.py经过编译后的产物(类似于java的.class字节码文件),以后只要.pyc文件存在,
即使删除.py源文件,依然可以引入并使用该模块。因为test_module.py模块引用了module.py模块,
import module语句的效果等价于把module.py的文件内容直接拼接到test_module.py文件头部。
具体来说,
module.py文件内容是:
def func_return():
return x

print 'x=',func_return(),' '

test_module.py文件内容是:
import module
print 'y=',module.func_return()

那么运行test_module.py时就会输出x=3 y=3(x=3是module.py的输出)
注意:还可以通过使用多个import语句,同时引入多个模块。

1 什么是 pyc 文件 1.1 什么是 pyc 文件 1、 pyc 文件 :是由Python 文件 经过编译后所生成的 文件 ,它是一种字节码 byte code,因此我们直接查看就是乱码的,也对源码起到一定的保护作用,但是这种字节码byte code是可以反编译的,后面会介绍! 我们都知道计算机是不认识你在代码里写的那一行行字母的,计算机只认二进制,也只执行二进制 文件 ,我们写的代码是需要编译器编译成二进制的。(参考) 对于Python来说你写的Python代码在执行python xxx.py时会由Python解析器翻译成Py 上一篇文章我们介绍了字节码,当时提到,py 文件 在执行的时候会先被编译成 PyC odeObject 对象,并且该对象还会被保存到 pyc 文件 中。 但不幸的是,事实并不总是这样,有时当我们运行一个简单的程序时,并没有产生 pyc 文件 。因此我们猜测:有些 Python 程序只是临时完成一些琐碎的工作,这样的程序仅仅只会运行一次,然后就不会再使用了,因此也就没有保存至 pyc 文件 的必要。 Python的 pyc 文件 pyc 文件 就是由Python 文件 经过编译后所生成的 文件 ,py 文件 编译成 pyc 文件 后加载速度更快而且提高了代码的安全性。 pyc 的内容与python的版本相关,不同版本编译的 pyc 文件 不一样 什么是 pyc 文件 pyc 是一种二进制 文件 ,是由Python 文件 经过编译后所生成的 文件 ,它是一种byte code,Python 文件 变成 pyc 文件 后,加载的速度有所提高,而且 pyc 还是一种跨平台的字节码,由python的虚拟机来执行的,就类似于JAVA或者.NET的虚拟机的概念。 pyc 的内容与pyt  有时候在python代码运行结束后会产生 pyc 文件 ,有时候又不会产生。那么,到底什么时候会产生?以及 pyc 文件 到底起什么作用?进行了梳理和总结。 首先,了解python程序的运行过程 python程序的运行依赖于解释器(interpreter)。 Python解释器(interpreter)在执行任何一个Python程序 文件 时,首先进行的动作都是先对 文件 中的Python源代码进行编译,编译的主要结果是产生一组Python的字节码(byte code),然后将编译的结果交给Python虚拟机(Vi Python生成 pyc 文件 pyc 文件 是py 文件 编译后生成的字节码 文件 (byte code)。 pyc 文件 经过python解释器最终会生成机器码运行。所以 pyc 文件 是可以跨平台部署的,类似Java的.class 文件 。一般py 文件 改变后,都会重新生成 pyc 文件 。为什么要手动提前生成 pyc 文件 呢,主要是不想把源代码暴露出来。生成单个 pyc 文件 对于py 文件 ,可以执行下面命令来生成 pyc ... 0x01. 什么是 pyc 文件 最近做ctf习题,发现经常会给一下 pyc 文件 pyc 文件 是py 文件 编译后生成的字节码 文件 (byte code)。 pyc 文件 经过python解释器最终会生成机器码运行。所以 pyc 文件 是可以跨平台部署的,类似Java的.class 文件 。学过java的都知道,它其实是中间过程,为了就是不变动代码的情况下,机器将会更快的执行代码,不用编译,直接去找字节码加载就行。一般py 文件 改变后,都会重新生成 pyc 文件 。生成 pyc 文件 主要是不想把源代码暴露出来。 0x02. 如何生成 pyc 文件 # 基本概念##模块&包简介模块:所谓模块就是一个.py 文件 ,用来存放变量,方法的 文件 ,便于在其他python 文件 中导入(通过import或from)。包(package): 包是更大的组织单位,用来组织区别管理多个模块 文件 。import 用来导入模块from 用于从模块中导入方法(全部或部分),也可用as 重命名导入的方法##import & from使用方法* import...