当前位置:首页>python>【python3基础教程】模块

【python3基础教程】模块

  • 2026-06-30 10:57:03
【python3基础教程】模块

1、认识模块

在前面的几个章节中我们脚本上是用 python 解释器来编程,如果你从 Python 解释器退出再进入,那么你定义的所有的方法和变量就都消失了。

为此 Python 提供了一个办法,把这些定义存放在文件中,为一些脚本或者交互式的解释器实例使用,这个文件被称为模块。

模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。这也是使用 python 标准库的方法。

下面是一个使用 python 标准库中模块的例子。

#!/usr/bin/python3# 文件名: using_sys.pyimport sysprint('命令行参数如下:')for in sys.argv:print(i)print('\n\nPython 路径为:'sys.path'\n')

执行结果如下1:

$ python using_sys.py 参数1 参数2命令行参数如下:using_sys.py参数1参数2Python 路径为: ['/root', '/usr/lib/python3.4', '/usr/lib/python3.4/plat-x86_64-linux-gnu', '/usr/lib/python3.4/lib-dynload', '/usr/local/lib/python3.4/dist-packages', '/usr/lib/python3/dist-packages'] 
  • import sys引入python标准库中的sys.py模块;

  • sys.argv是一个包含命令行参数的列表;

  • sys.path包含了一个python解释器自动查找所需模块的路径的列表

import 语句想使用python源文件,只需在另一个源文件里执行import语句,语法如下:import module1[,module2[,..muduleN]]

当解释器遇到import语句,如果模块在当前的搜索路径就会被导入。

搜索路径是一个解释器会先进行搜索的所有目录的列表。如想要导入模块support.py,需要把命令放在脚本的顶端:

#!/usr/bin/python3# Filename: support.pydef print_funcpar ):print ("Hello : "par)return

test.py引入support模块:

#!/usr/bin/python3# Filename: test.py# 导入模块import support# 现在可以调用模块里包含的函数了support.print_func("Nowcoder")

以上实例输出结果:

$ python3 test.py Hello :  Nowcoder

一个模块只会被导入一次,不管你执行了多少次import。这样可以防止导入模块被一遍又一遍地执行。

2、引入原理

当我们使用import语句的时候,Python解释器是怎样找到对应的文件的呢?

这就涉及到Python的搜索路径,搜索路径是由一系列目录名组成的,Python解释器就依次从这些目录中去寻找所引入的模块。

这看起来很像环境变量,事实上,也可以通过定义环境变量的方式来确定搜索路径。

搜索路径是在Python编译或安装的时候确定的,安装新的库应该也会修改。搜索路径被存储在sys模块中的path变量,做一个简单的实验,在交互式解释器中,输入以下代码:

>>>import sys>>>sys.path['''C:\\Users\\admin\\.conda\\envs\\Demopy\\python39.zip''C:\\Users\\admin\\.conda\\envs\\Demopy\\DLLs''C:\\Users\\admin\\.conda\\envs\\Demopy\\lib''C:\\Users\\admin\\.conda\\envs\\Demopy''C:\\Users\\admin\\.conda\\envs\\Demopy\\lib\\site-packages''C:\\Users\\admin\\.conda\\envs\\Demopy\\lib\\site-packages\\win32''C:\\Users\\admin\\.conda\\envs\\Demopy\\lib\\site-packages\\win32\\lib''C:\\Users\\admin\\.conda\\envs\\Demopy\\lib\\site-packages\\Pythonwin']

sys.path 输出是一个列表,其中第一项是空串'',代表当前目录(若是从一个脚本中打印出来的话,可以更清楚地看出是哪个目录),亦即我们执行python解释器的目录(对于脚本的话就是运行的脚本所在的目录)。

因此若像我一样在当前目录下存在与要引入模块同名的文件,就会把要引入的模块屏蔽掉。

了解了搜索路径的概念,就可以在脚本中修改sys.path来引入一些不在搜索路径中的模块。

现在,在解释器的当前目录或者 sys.path 中的一个目录里面来创建一个fibo.py的文件,代码如下:

# 斐波那契(fibonacci)数列模块def fib(n):    # 定义到 n 的斐波那契数列ab = 01while b<n:print(bend=' ')ab = ba+bprint()def fib2(n): # 返回到 n 的斐波那契数列result = []ab = 01while b<n:result.append(b)ab = ba+breturn result

然后进入Python解释器,使用下面的命令导入这个模块:

import fibo

这样做并没有把直接定义在fibo中的函数名称写入到当前符号表里,只是把模块fibo的名字写到了那里,仅仅只是导入没有使用其函数。

可以使用模块名称来访问函数:

>>>fibo.fib(1000)1123581321345589144233377610987>>>fibo.fib2(100)[1123581321345589]>>>fibo.__name__'fibo'

如果你打算经常使用一个函数,你可以把它赋给一个本地变量:

>>>fib = fibo.fib>>>fib(500)1123581321345589144233377

还可以对fibo模块起别名:

import fibo as fb

3、引入方式

1、import:直接导入

2、import .. as ..:导入后别名

3、from .. import:导入模块的部分函数使用,这种导入方式不会把模块整个函数导进来,只会将指定的函数引入。

4、from .. import *:导入模块并声明引入模块所有函数进来,但是这种声明不建议过多使用

4、深入模块

模块除了方法定义,还可以包括可执行的代码。这些代码一般用来初始化这个模块。这些代码只有在第一次被导入时才会被执行。

每个模块有各自独立的符号表,在模块内部为所有的函数当作全局符号表使用。所以,模块的作者可以放心大胆的在模块内部使用这些全局变量,而不用担心把其他用户的全局变量搞混。

从另一个方面,当你确实知道你在做什么的话,你也可以通过modname.itemname这样的表示法来访问模块内的函数。

模块是可以导入其他模块的,在一个模块(或者脚本、或者其他地方)的最前面使用import来导入一个模块,当然这只是一个惯例,而不是强制。被导入的模块的名称将被放入当前操作的模块符号表中。

  • 有一种导入的方法,可以使用import直接把模块内(函数、变量名)名称导入到当前操作模块。比如:

    from fibo import fib,fib2fib(500)

    这种导入的方法不会把被导入的模块的名称放在当前的字符表中(所以在这个例子里面,fibo这个名称是没有定义的)。

  • 还有一种方法,可以一次性的把模块中的所有(函数、变量)名称都导入到当前模块的字符表:

    from fibo import*fib(500)

    这种将所有的名字都导入进来,但是那些由单一下划线(_)开头的名字不在此列。大多数情况,python程序员不使用这种方法,因为引入的其他来源的命名,很有可能会命名重复。

5、name属性

一个模块被另一个程序第一次引入是,其运行的路径是在主程序运行。如果我们想在模块被引入时,模块中某一程序块不执行,我们可以用name属性来使不被其他模块引入使用,只在模块自身运行时执行。

#!/usr/bin/python3# Filename: using_name.pyif __name__ == '__main__':# 不让其他模块引入的程序块编写位置print('程序自身在运行')else:print('我来自另一模块')

运行输出如下:

$ python using_name.py程序自身在运行$ python>>> import using_name我来自另一模块>>>

说明:每个模块都有一个name属性,当其值是“main”时,表明该模块自身在运行,否则会被其他模块引入。name和main底下是双下划线,_ _把中间的空格去掉的样子__。

6、dir()函数

内置的函数dir()可以找到模块内定义的所有名称。以一个字符串列表的形式返回:

指定模块就会罗列该模块定义的所有名称

import fibo,sysdir(sys)['__displayhook__''__doc__''__excepthook__''__loader__''__name__','__package__''__stderr__''__stdin__''__stdout__','_clear_type_cache''_current_frames''_debugmallocstats''_getframe','_home''_mercurial''_xoptions''abiflags''api_version''argv','base_exec_prefix''base_prefix''builtin_module_names''byteorder','call_tracing''callstats''copyright''displayhook','dont_write_bytecode''exc_info''excepthook''exec_prefix','executable''exit''flags''float_info''float_repr_style','getcheckinterval''getdefaultencoding''getdlopenflags','getfilesystemencoding''getobjects''getprofile''getrecursionlimit','getrefcount''getsizeof''getswitchinterval''gettotalrefcount','gettrace''hash_info''hexversion''implementation''int_info','intern''maxsize''maxunicode''meta_path''modules''path','path_hooks''path_importer_cache''platform''prefix''ps1','setcheckinterval''setdlopenflags''setprofile''setrecursionlimit','setswitchinterval''settrace''stderr''stdin''stdout','thread_info''version''version_info''warnoptions']

如果没有指定模块,那么dir()函数会罗列出当前定义的所有名称:

lt = [12345]import fibodir()['__builtins__''__name__''lt''fib''fibo''sys']del ltdir()['__builtins__''__name__''fib''fibo''sys']

示例:

>>>import requests>>>dir(requests)['ConnectTimeout''ConnectionError''DependencyWarning''FileModeWarning''HTTPError''JSONDecodeError''NullHandler''PreparedRequest''ReadTimeout''Request''RequestException''RequestsDependencyWarning''Response''Session''Timeout''TooManyRedirects''URLRequired''__author__''__author_email__''__build__''__builtins__''__cached__''__cake__''__copyright__''__description__''__doc__''__file__''__license__''__loader__''__name__''__package__''__path__''__spec__''__title__''__url__''__version__''__warningregistry__''_check_cryptography''_internal_utils''adapters''api''auth''certs''chardet_version''charset_normalizer_version''check_compatibility''codes''compat''cookies''delete''exceptions''get''head''hooks''logging''models''options''packages''patch''post''put''request''session''sessions''ssl''status_codes''structures''urllib3''utils''warnings']

7、标准模块

python本身带着一些标准的模块库,在python库参考文档中将会介绍到。

有些模块直接被构建在解析器里,这些虽然不是一些语言内置的功能,但是他却能很高效的使用,甚至是系统级调用也没问题。

这些组件会根据不同的操作系统进行不同形式的配置,不让winreg这个模块就只会提供给windows系统。

应该注意到这有一个特别的模块sys,它内置在每一个python解析器中。变量sys.ps1和sys.ps2定义了主提示符和副提示符所对应的字符串:

>>>import sys>>>sys.ps1'>>> '>>>sys.ps2'... '>>>sys.ps1='C> 'C>printf('hello world')Traceback (mostrecentcalllast):File"<stdin>"line1in<module>NameErrorname'printf' is not definedC>print('hello world')helloworldC>

8、包

包是一种管理python模块命名空间的形式,采用"点模块名称"。

比如一个模块的名称是A.B,那么他表示一个包A中的子模块B。

你不用担心不同模块之间的全局变量互相影响,采用点模块名称这种形式也不用担心不同库之间的模块重名的情况。

这样不同的作者可以提供Numpy模块,或者Python图形库。

举个例子,你想设计一套统一处理声音文件和数据的模块(或者称之为一个“包”)。现存很多种不同的音频文件格式(基本上都是通过后缀名区分的,例如: .wav,:file:.aiff,:file:.au,)所以你需要有一组不断增加的模块,用来在不同的格式之间转换。并且针对这些音频数据,还有很多不同的操作(比如混音,添加回声,增加均衡器功能,创建人造立体声效果),所以还需要一组怎么也写不完的模块来处理这些操作。

这里给出了一种可能的包结构(在分层的文件系统种):

sound/顶层包__init__.py初始化soundformats/文件格式转换子包__init__.pywavread.pywavwrite.pyaiffread.pyaiffwrite.pyauread.pyauwrite.py              ...effects/声音效果子包__init__.pyecho.pysurround.pyreverse.py              ...filters/filters子包__init__.pyequalizer.pyvocoder.pykaraoke.py              ...

在导入一个包的时候,python会根据sys.path中的目录来寻找这个包中包含的子目录。

目录只有包含一个叫做 init.py的文件才会被认作是一个包,主要是为了避免一些滥俗的名字(比如叫做string)不小心的影响搜索路径中的有效模块。最简单的方式就是新建一个空 init.py就可以了。当然这个文件中也可以包含一些初始化代码或者为 all变量赋值(将在后面介绍)

9、模块与包

9.1、模块导入

用户可以每次只导入一个包里面的特定模块,接着上面的包结构比如:

import sound.effects.echo

这将会导入子模块:sound.effects.echo。必须使用全名才能使用!比较冗长

sound.effects.echo.echofilter(inputoutputdelay=0.7atten=4)

还有一种导入子模块的方法是:

from sound.effects import echo

这同样会导入子模块:echo,并且他不需要那些冗长的前缀,所以可以直接使用:

echo.echofilter(inputoutputdelay=0.7atten=4)

还有一种变化就是直接导入一个函数或者变量:

from sound.effects.echo import echofilter

同样的,这种方法会导入子模块:echo,并且可以直接使用echofilter()函数:

echofilter(inputoutputdelay=0.7atten=4)

注意当使用from package import item这种形式的时候,对应的item既可以是包里面的子模块(子包),或者包里面定义的其他名称,比如函数、类或者变量。

import语法会首先把item当作一个包(子包)定义的名称,如果没找到,再试图按照一个模块(py文件名)去导入。如果还没找到,就好报异常:ImportError

反之,如果使用形如import item.subitem.subsubitem这种导入形式,除了最后一项,都必须是包,而最后一项则可以是模块或者是包,但是不可以是类,函数或者变量的名字。

9.2、*导入所有模块

设想一下,如果我们使用from sound.effects import *会发生什么?

python会进入文件系统,找到这个包里面所有的子模块,一个一个的把它们都导入进来。

但是这个方法在Windows上使用不是非常友好,因为windows是一个大小写不区分的系统。

在这类系统上,不确定叫做ECHO.py的文件导入为模块echo还是Echo甚至ECHO。

(例如,Windows 95就很讨厌的把每个文件的首字母大写显示)而且DOS的8+3命名规则对长模块名称的处理会把问题搞得更纠结。

为了解决这个问题,只能让包作者提供一个精确的包索引。

导入语句遵循如下规则:如果包定义文件 init.py存在一个叫做all的列表变量,那么在使用from package import *的时候把这个列表中的所有名字作为包内容导入

作为包的作者,需要在更新包之后也要更新 all。如果没有更新 all,就不能使用*导入这种用法了,因为可能不全。用上面的例子举例sounds/effects/init.py中包含以下代码:

__all__ = ["echo""surround""reverse"]

这表示当你使用from sound.effects import *这种用法时,就只能导入列表中这三个子模块。

如果 all没有定义,使用from sound.effects import *这种语法的时候,就不会导入包sound.effects里的任何子模块。他只是把包sound.effects和它里面定义的所有内容导入出来(可能运行init.py里定义的初始化代码)。这会把init.py里面定义的所有名字导入进来。并且他不会破坏掉这句话之前导入的所有明确指定的模块,比如:

import sound.effects.echoimport sound.effects.surroundfrom sound.effects import*

这个例子中,在执行from..import前,包sound.effects中的echo和surround模块都被导入到当前的命令空间中(如果定义了 all就更没问题)

注意:通常我们并不主张使用*这种方法来导入模块,因为这种方法经常会导致代码的可读性降低。只是这样导入可以省去不少敲键盘的功夫,还有些模块设计的时候就指定这种方式导入。

最推荐的方式就是使用from package import specific_submodule,除非在导入不同包子模块存在重命名换用.导入。

9.3、路径导入

如果在结构中包是一个子包,又需要导入兄弟包(同级别的包)就需要使用绝对路径来导入。比如,如果在sound.filters.vocoder模块里需要使用sound.effects中的模块echo,就应该这样导入from sound.effcts import echo

# 同目录导入子包echofrom . import echo# 兄弟目录导入子包formatsfrom .. import formats# 同级目录导入子模块from ..filters import equalizer

无论是隐式还是显式相对导入都是从当前模块开始,主模块的名字永远是“main”,一个python应用程序的主模块,应当总是使用绝对路径引用。

包还提供一个额外属性path。这是一个目录列表,里面每一个包含的目录都有为这个包服务的 init.py,你得在其他 init.py被执行前定义,可以修改这个变量,从而影响包含在包里面的模块和子包。一般用来扩展包里面的模块,不常用。

注意:引入同目录的包模块,目录会自动生成一个__pycache__是 Python 3.x 中的一个特殊目录,用于存储编译后的 Python 字节码文件(.pyc 文件)。这些字节码文件是 Python 解释器为了提高程序运行效率而生成的。当您首次导入一个模块时,Python 解释器会将该模块编译为字节码文件,并将其存储在 __pycache__ 目录中。

  • __pycache__:这是一个特殊的目录,通常位于 Python 模块的安装目录中。

    其目录结构可能如下:

    my_module/├── __init__.py├── my_file.py└── __pycache__/    └── my_file.cpython-39.pyc
    • my_file.cpython-39.pyc:这是 my_file.py 编译后的字节码文件,适用于 Python 3.9 解释器。

  • .pyc 文件:这些文件是 Python 源代码文件(.py 文件)编译后的字节码文件。字节码文件是 Python 解释器执行代码时的中间产物,可以被快速加载和执行。

  • 提高运行效率:Python 解释器在运行 .py 文件时,会先将其编译为字节码文件(.pyc 文件)。这些字节码文件存储在 __pycache__ 目录中,以便下次运行时可以直接加载,而无需重新编译,从而提高运行效率。

  • 版本管理:从 Python 3.2 开始,字节码文件被存储在 __pycache__ 目录中,并且文件名中包含了 Python 解释器的版本号。这允许不同版本的 Python 解释器共存,而不会相互干扰。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-04 11:05:14 HTTP/2.0 GET : https://f.mffb.com.cn/a/488927.html
  2. 运行时间 : 0.118858s [ 吞吐率:8.41req/s ] 内存消耗:4,556.16kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=25d8e336db3d9572e1f4d5c41bdcd452
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000567s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000869s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000351s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000384s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000562s ]
  6. SELECT * FROM `set` [ RunTime:0.000602s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000641s ]
  8. SELECT * FROM `article` WHERE `id` = 488927 LIMIT 1 [ RunTime:0.000552s ]
  9. UPDATE `article` SET `lasttime` = 1783134314 WHERE `id` = 488927 [ RunTime:0.005999s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000298s ]
  11. SELECT * FROM `article` WHERE `id` < 488927 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.003408s ]
  12. SELECT * FROM `article` WHERE `id` > 488927 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001249s ]
  13. SELECT * FROM `article` WHERE `id` < 488927 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.011308s ]
  14. SELECT * FROM `article` WHERE `id` < 488927 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.015277s ]
  15. SELECT * FROM `article` WHERE `id` < 488927 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.006362s ]
0.120469s