删除git的.idea文件 git rm --cached -r .idea # 如果没有git忽略文件的话,操作: ①配置.gitignore文件(新建/编辑) echo '.idea' >> .gitignore...②将.gitignore文件上传到远程仓库 git pull git add .gitignore git commit -m 'edit .gitignore' git push origin master
众所周知,如果没有 cd 命令,我们无法 Linux 中切换目录。这个没错,但我们有一个名为 shopt 的 Linux 内置命令能帮助我们解决这个问题。...是的,我们可以在启用此选项后,可以不使用 cd 命令切换目录。 我们将在本文中向你展示如何操作。这是一个小的调整,但对于那些从 Windows 迁移到 Linux 的新手来说非常有用。...这对 Linux 管理员没用,因为我们不会在没有 cd 命令的情况下切换到该目录,因为我们对此有经验。 如果你尝试在没有 cd 命令的情况下切换 Linux 的目录/文件夹,你将看到以下错误消息。...你可以在该文件中添加要在命令提示符下输入的任何命令。 .bashrc 文件本身包含终端会话的一系列配置。包括设置和启用:着色、补全,shell 历史,命令别名等。...Linux 中不使用 CD 命令进入目录/文件夹的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。
1.与访问模块的Python文件位于同一目录中。 2.在另一个目录中,该目录必须添加到Python解释器的路径中。 3.在Python解释器的任意默认路径内。...导入同一目录中的自定义模块 在你创建的newmodule.py文件相同的目录中创建另一个名为mainfile.py的文件。 要导入自定义模块,可以使用import语句后跟模块名称。...此语法类似于导入默认或已安装的Python模块。下面的脚本导入newmodule模块,该模块由与mainfile.py文件存储在同一目录中的newmodule.py文件创建。...) 从其他不同路径中导入自定义模块 还可以将自定义模块保存在导入它的文件所在目录以外的目录中。...创建另一个名为newmodule3.py的模块,将其存储在site-packages文件夹中。
有这样一个文件test.py,在test.py中定义了函数add。 ?...8、python中的包 1、引入包 有2个模块功能有些联系 ? 所以将其放到同一个文件夹下 ? 使用import文件.模块 的方式导入 ? 使用from文件夹import模块 的方式导入 ?...在msg文件夹下创建__init__.py文件 ? 在__init__.py文件中写入 ? 重新使用from文件夹import模块 的方式导入 ?...总结:包将有联系的模块组织在一起,即放到同一个文件夹下,并且在这个文件夹创建一个名字为__init__.py文件,那么这个文件夹就称之为包。有效避免模块名称冲突问题,让应用组织结构更加清晰。...事实上,你可以一直沿子包的树状结构导入: ? 在我们上边的目录结构中,我们可以发现很多的__init__.py文件。这些是初始化模块,from-import语句导入子包时需要用到它。
比如有这样一个文件test.py,在test.py中定义了函数add ?...8.python中的包 1.引入包 有2个模块功能有些联系 ? 所以将其放到同一个文件夹下 ? 使用import文件.模块 的方式导入 ? 使用from文件夹import模块 的方式导入 ?...在msg文件夹下创建__init__.py文件 ? 在__init__.py文件中写入 ? 重新使用from文件夹import模块 的方式导入 ?...总结: 包将有联系的模块组织在一起,即放到同一个文件夹下,并且在这个文件夹创建一个名字为__init__.py文件,那么这个文件夹就称之为包 有效避免模块名称冲突问题,让应用组织结构更加清晰 2__init...事实上,你可以一直沿子包的树状结构导入: ? 在我们上边的目录结构中,我们可以发现很多的__init__.py文件。这些是初始化模块,from-import语句导入子包时需要用到它。
如果将所有视图函数都写在同一个 py 文件中,功能没有问题,但是在维护时非常不方便,没有哪个项目会采用这种方式来写代码。...通常,会根据不同的功能模块,将视图函数写在不同的 py 文件中,这就需要使用到 Flask 中的蓝图 Blueprint 。...创建蓝图对象并实现视图函数 在项目文件夹下创建一个 blue_one 文件夹,然后在 blue_one 目录下创建一个 views.py 文件。...将蓝图对象注册到 Flask 主应用中 回到 Flask 主应用 app.py 中,将刚才在 views.py 中注册的蓝图对象导入,并将蓝图对象注册到主应用 app 中。...视图函数返回模板文件 在 views.py 中,增加一个视图函数。
第二次调用,不会再执行该模块,只是完成一次引用 (import语句是可以在程序中的任意位置使用的,且针对同一个模块很import多次,为了防止你重复导入,python的优化手段是:第一次导入后就将模块名加载到内存了...xmlreader.py和csvreader.py,它们都定义了函数read_data(filename):用来从文件中读取一些数据,但采用不同的输入格式。...* 可以直接引起 模块名下的所有变量名(包括函数名) 用*导入要注意,在使用模块内的变量名时,可能会与执行文件中的变量名(或函数名)相同,发生覆盖, 1.若先定义了本函数中的变量名...在python中,包可以理解成一个文件夹,但是每一个文件夹里必须要有一个__init__文件 2.1 from 包 import 模块 2.2 同级目录下的被调用模块之间的相互调用 2.3 if __...,也就是执行文件同级目录中找包(如果) 1.文件和包在同一目录下, ?
1,函数名2… 导入部分模块 (导入部分的话直接使用) 3.from 模块名 import * 导入所有,有约束 需要在__init__.py文件中添加属性: all =[ “函数1”,“函数2”…...] 引入自定义模块 第一种,直接 import 这里有个大前提,就是你的py执行文件和模块同属于同个目录(父级目录) 第二种,通过sys模块导入自定义模块的path 如果执行文件和模块不在同一目录...在创建许许多多模块后,我们可能希望将某些功能相近的文件组织在同一文件夹下,这里就需要运用包的概念了。 ...__init__中写python模块,可以在包中在创建另外的模块来写,尽量保证__init__.py简单) 特点: python包是: 包是一个有层次的文件目录结构,它定义了由n个模块或n个子包组成的...控制着包的导入行为 init.py为空仅仅是把这个包导入,不会导入包中的模块 all__在__init.py文件中,定义一个__all__变量,它控制着 from 包名 import *时导入的模块
前言 在前面的例子中,所有的页面处理逻辑都是放在同一个文件中,随着业务代码的增加,将所有代码都放在单个程序文件中是非常不合适的 不仅会让阅读代码变得困难,而且会给后期维护带来麻烦 Flask 中使用蓝图...,两个蓝图 程序中包含 4 个视图函数,根据页面路径,Flask 将请求转发给对应的视图函数,从浏览器发送过来的请求的处理过程如下图所示 ?...,存储与这个蓝图相关的文件 每个蓝图有一个独立的模板文件目录 每个蓝图有一个独立的静态文件目录 模板文件寻找规则 每个蓝图可以拥有独立的模板文件目录,模板文件寻找规则如下: 如果项目中的 templates...文件夹中存在相应的模板文件,则使用 templates 文件夹下的模板文件; 如果项目中的 templates 文件夹中没有相应的模板文件,则使用定义蓝图的时候指定的 templates 文件夹下的模板文件...项目中的 templates 文件夹优先级大于指定的 templates 文件夹 静态文件寻找规则 每个蓝图可以独立的静态文件目录,静态文件寻找规则如下: 如果项目中的 static 文件夹中存在相应的静态文件
#模块可以包含可执行的语句和函数的定义,这些语句的目的是初始化模块,它们只在模块名第一次遇到导入import语句时才执行(import语句是可以在程序中的任意位置使用的,且针对同一个模块很import多次...#作用:用来控制.py文件在不同的应用场景下执行不同的逻辑(或者是在模块文件中测试代码) if __name__ == '__main__': print('from the tbjx.py...3.在速度上从.pyc文件中读指令来执行不会比从.py文件中读指令执行更快,只有在模块被加载时,.pyc文件才是更快的 4.只有使用import语句是才将文件自动编译为.pyc文件,在命令行或标准输入中指定运行脚本则不会生成这类文件...而环境变量都是以执行文件为准的 比如我们想在glance/api/versions.py中导入glance/api/policy.py,有的同学一抽这俩模块是在同一个目录下,十分开心的就去做了,它直接这么做...,于是在导入policy时能在当前目录下找到 但是你想啊,你子包中的模块version.py极有可能是被一个glance包同一级别的其他文件导入,比如我们在于glance同级下的一个test.py文件中导入
,这个函数是读取配置文件的内容 然后看一下目录的结构 在此例中,demo_mnist,py为主文件。...4、最后了解一下 python 在不同层级目录import 模块的方法(重点) 有一个文件夹/home/a, 里面有个模块叫b.py, 我怎么把他import到程序里?...py 即:要导入的文件的当前目录和父目录都要有init.py文件 ---- Python包含子目录中的模块方法比较简单,关键是能够在sys.path里面找到通向模块文件的路径。...– mod2.py – test1.py 若在程序test1.py中导入模块mod2, 需要在mod2文件夹中建立空文件__init__.py文件(也可以在该文件中自定义输出模块接口); 然后使用...总结: 通过总结可以发现,当你要导入的文件在和你的当前文件在同一个目录时,你直接导入这个文件名就好了。
执行test01第三行代码(忽略空行),定义一个函数hello,在test01的名称空间中存储hello 与其内存地址的绑定关系(跳过函数体,函数定义阶段不执行)(即函数名) 至此...hello,在index名称空间中存储hello 与其内存地址的绑定关系 执行下一行代码(跳过了hello 的函数体代码),调用hello 函数(在index这个名称空间找,找到了hello方法...先从内存中已导入的模块中找 2.内置模块中找 3.从sys.path里面找(暂时理解成环境变量,依据当前文件来的) 是一个大列表,里面放了一堆文件路径,第一个路径永远是执行文件所在的文件夹...sys.path 是以当前被执行文件(右键run)为准的 绝对导入 ''' 绝对导入必须依据执行文件所在的文件夹路径为准 1.绝对导入无论在执行文件中还是被导入文件都适用 ''' 相对导入 '...os import sys # .................歩鄹一 # 这里是在拼接文件目录,因为不同操作系统表示文件路径的间隔符不一致,所以需要用到模块来拼接路径 BASE_DIR = os.path.dirname
” ''' 2.模块中的__all__ 当使用from xx import *时,为防止导入其他不必要的东西,可以在自定义的模块中加上 __all__ = [‘函数名’,’全局变量名’,...二、包 包就是将多个模块放在文件夹中,这个文件夹就是包;当然,这个文件夹与日常文件夹有点不同 不同之处在于,该文件夹下除其他文件外,还有一个__init__.py文件,如图所示。...当有这个文件时,就可以在包和需要导入包的程序处于同一目录的情况下,调用包中的模块了。..._2 #加上该句,则可以通过import test_all导入,然后通过test_all.test_all_1.fun1()调用 在完成上述步骤后,还有一个问题,就是“包和需要导入包的程序必须处于同一目录...然后,在命令行切换目录到setup.py文件夹下,执行python setup.py install ? 此时就安装成功了,可以在任意py文件中调用了 ?
[TOC] 15.Python 模块 描述:模块就是更高级的封装,而模块就是程序;实际就是将一个个python文件编写的函数导入到其他的py文件中进行调用; 前面知识点: 容器(数据的封装), 函数(语句的封装...上面的案例都是模块与主执行文件在同一个目录里面,但是在实际开发中往往是在其他文件子目录中; Q:那我们如何进行模块的搜寻?...A:把模块进行分类存放在不同的文件夹里面,把各个文件的位置告诉Python 创建包的步骤: 创建一个文件夹存放相关的模块,文件夹名字即是包的名字; 在包目录下创建一个init.py (可以为空) 将相关模块放入文件夹中...############## # 亲,您成功从包里导入模块中的函数到主程序里面,Yes!.../usr/bin/python #功能:模块测试程序 def success(): print("亲,您成功从包里导入模块中的函数到主程序里面,Yes!")
为了代码的可维护性和可复用性,我们会编写很多函数和类,并对这些函数和类进行分组,分别放到不同的文件里,这样每个文件中所包含的代码量就少很多。...导入模块 在Python中使用import、from......import、reload导入或者重载模块,在导入模块时只能使用模块名,而不是使用带.py后缀的模块文件名。...前面我们已经由于不同的开发编写的模块名可能会相同,为了避免模块名冲突,Python又引入了包的概念。当我们将一组模块归并到一个目录中,这个目录即为包,目录名即为包名。...我们有如下程序目录结构: 当我们在test.py文件中调用mypackage包下的模块(test.py与mypackage文件夹处于同一目录下),在Python3中是可以直接调用的。...但是我们在test文件夹下的子文件夹mytest文件夹的mynewtest.py文件中调用该模块时会报错。
我的项目结构 首先,我并不是一个经验丰富的 Python 开发者,一般像我这样水平的,要么用框架,以其预置的代码结构来管理代码文件和逻辑;要么,就是调包侠,将代码写在同一个或多个 .py 文件中,不用文件目录组织...而 spider 目录其下,还存在一些在爬虫代码中需要调用的自定义工具模块文件:如 config.py 配置信息,db.py MySQL数据库操作快捷函数 和 utils.py 常用函数。...首先,模块的定义非常简单,一个 .py 文件其实就是一个 Python 模块,你可以将不同的业务逻辑代码,放在不同的模块文件中,最后通过相互之间的导入,来联合起来运行,形成一个整体的运行系统。...在 Python 3.3 版本以前,文件夹下必须要包含一个 __init__.py 文件,此文件夹才会被视为包,而 Python 3.3 版本之后,文件夹直接被视为包,无须显式的包含 __init__....当我在 spider/realtime/overview.py 文件中,写爬虫的实际业务逻辑代码时,我又遇到了相对导入和绝对导入的问题。
如果脚本文件是作为主程序调用,其值就设为__main__,如果是作为模块被其他文件导入,它的值就是其文件名。 每个模块都有自己的私有符号表,所有定义在模块里面的函数把它当做全局符号表使用。...模块在被导入执行时,python解释器为加快程序的启动速度,会在与模块文件同一目录下生成.pyc文件。...包 通常包总是一个目录,可以使用import导入包,或者from + import来导入包中的部分模块。包目录下为首的一个文件便是 init.py。...然后是一些模块文件和子目录,假如子目录中也有 init.py 那么它就是这个包的子包了。 在创建许许多多模块后,我们可能希望将某些功能相近的文件组织在同一文件夹下,这里就需要运用包的概念了。...包对应于文件夹,使用包的方式跟模块也类似,唯一需要注意的是,当文件夹当作包使用时,文件夹需要包含__init__.py文件,主要是为了避免将文件夹名当作普通的字符串。
:包是含有若干个模块的文件夹,在工程项目用包管理模块可以避免模块名冲突 __init__.py 在Python工程项目中,如果一个文件夹下有__init__.py文件就会认为该文件夹是一个包package...简介 在Python中import的常用操作为: import somemodule # 导入整个模块 from somemodule import somefunction # 从模块中导入单个函数...from somemodule import firstfunc, secondfunc, thirdfunc # 从模块中导入多个函数 from somemodule import * # 从模块中导入所有函数...绝对导入与相对导入 绝对导入和相对导入的概念只针对于包内模块导入包内模块,注意如果foo.py和bar.py在同一个非包(没有__init__.py文件)的目录下,那么它们之间可以互相import,不存在绝对导入和相对导入的问题...项目demo 假设当前你的工程文件目录如下(仅针对python3): 注意这里我的文件夹下并没有__init__.py,严格来讲它们并不是包,只是将联系紧密的模块放在同一个文件夹下方便工程项目管理。
定位模块 当你导入一个模块,Python解析器对模块位置的搜索顺序是: 1,当前目录 2,如果不在当前目录,Python则搜索在shell变量PYTHONPATH下的每个目录。 ...变量里包含当前目录,PYTHONPATH和由安装过程决定的默认目录。 定义自己的模块 1,在Python中,每个Python文件都可以作为一个模块,模块的名字就是文件的名字。...NameError: name 'test2' is not defined ''' 包将有联系的模块组织在一起,即放到同一个文件夹下,并且在这个文件夹创建一个名字为__init__.py 文件,那么这个文件夹就称之为包...关于__init__.py文件 那么__init__.py文件有什么用? 其实__init__.py 控制着包的导入行为当__init__.py为空:仅仅是把这个包导入,不会导入包中的模块。...在__init__.py文件中,定义一个__all__变量,它控制着 from 包名 import *时导入的模块,可以在__init__.py文件中编写语句,当导入这个包时,这些语句就会被执行。
领取专属 10元无门槛券
手把手带您无忧上云