如果项目中主文件的名称从main.py更改为其他名称,不会对代码执行产生影响,只是改变了文件名而已。主文件通常是一个程序的入口点,其中包含主要的执行逻辑和函数调用。主文件的名称并不是固定的,可以根据开发者的喜好和项目的要求进行更改。
更改主文件的名称可能会涉及到以下几个方面的不同:
总的来说,将主文件的名称更改为其他名称不会对代码执行产生实质性的影响,只是涉及到对相关文件和代码的相应调整。
有时运行Python项目时不需要有指定入口文件(命令行比较常见,例如“ python -m http.server 8000”),可能是因为该项目中有main.py文件,在软件包中作为“文件”来执行。...总而言之,Python作为脚本语言不同于编译语言。无论是单个模块(即.py文件),还是由多个模块组成的软件包,Python都可以选择一种灵活的执行方法,这完全不像其他语言那样必须定义入口。...函数吗?...人们想编写一个main函数的主要原因其实是为了强调这是一个主函数,希望人为地将其设置成第一个执行的函数。 他们可能认为这个名字的函数更容易记住。...其次,如果有多个文件,强烈建议不要将这个语句写在入口文件(main.py)中。从理论上讲,它的内容不应该导出供其他模块使用,因为它是起点。
,如果着大量的代码(如:1万行代码)写在一个python文件中,就会让这个文件的体积非常的庞大,开发过程中会造成大量的不必要的问题:如变量定义是否会覆盖其他定义的变量,添加功能处理代码会否影响其他的功能..."goods count:" + str(count)) -------------- main.py 主模块中使用其他的模块 -------------- import user import goods...这不是我们想要的,私有的不是不能让其他模块访问吗? # !这里请注意:下划线开头的变量,规范是私有变量,不应该 # 让其他的模块访问,而不是强制,这里的规范是一种项目开发约定!...在python程序开发时,很多开发人员和机构组织,根据不同的应用程序进行设计开发了很多第三方的python模块,这些模块,我们如果在项目开发过程中需要的话,需要下载安装模块然后在我们的项目中进行使用。...在我们的项目中,如果需要引入安装的第三方模块,直接通过import 引入需要的模块,然后使用即可。 3. 使用第三方提供的easygui模块,用于进行图形化界面程序开发 3.1.
,如果着大量的代码(如:1万行代码)写在一个python文件中,就会让这个文件的体积非常的庞大,开发过程中会造成大量的不必要的问题:如变量定义是否会覆盖其他定义的变量,添加功能处理代码会否影响其他的功能..."goods count:" + str(count)) -------------- main.py 主模块中使用其他的模块 -------------- import user import goods...模块名称冲突 我们也同样考虑到了,模块名称和定义变量一样,某些情况下模块名称也有可能冲突,如:我们的项目中处理用户数据定义了一个工具模块utils.py,处理商品数据定义了一个工具模块utils.py,...(): # 返回商品的产地 return address -------------- 7.创建main.py程序运行的入口文件,引入users和goods两个模块 使用不同模块中的函数...这不是我们想要的,私有的不是不能让其他模块访问吗? # !这里请注意:下划线开头的变量,规范是私有变量,不应该 # 让其他的模块访问,而不是强制,这里的规范是一种项目开发约定!
在日常Python开发过程中,需要根据不同的功能用途,将代码划分在不同的模块下即不同.py文件中。...例如项目中有一个名称为common.py公共模块,专门用于存放项目公共函数,假设在common.py模块中,有一个用于统计函数运行的装饰器函数,示例代码如下: """ 定义一个计算函数运行时间的装饰器(...web_app_funa() 运行结果如下: 这种情况虽然可以达到目的,但如果项目中有非常多的模块都需要调用common.py中的公共函数,意味着所有的模块中都要重复导入类似代码: from common...直接贴代码: 1、main.py(项目主入口) import builtins from common import wrapper setattr(builtins, 'wrapper', wrapper...完成这几步后,你就可以在任何py文件里直接通过注册的全局名称调用公共模块中的函数了,就跟使用print一样,是不是很酸爽!赶紧收藏起来,试试吧!
目前,我活跃在CSDN、51CTO、腾讯云开发者社区、阿里云开发者社区、知乎、微信公众号、视频号、抖音、B站和小红书等平台,全网拥有超过30万的粉丝,统一IP名称为 猫头虎 或者 猫头虎博主。...希望通过我的分享,帮助大家更好地了解和使用各类技术产品。 1. FastAPI 简介 什么是 FastAPI?...步骤1:创建一个 FastAPI 应用 首先,创建一个 main.py 文件,代码如下: from fastapi import FastAPI app = FastAPI() @app.get("...高级用法与案例 FastAPI 不仅支持简单的 GET 和 POST 请求,还能处理更复杂的逻辑。...request) response.headers["X-Process-Time"] = str(time.time()) return response Q3: FastAPI 能处理文件上传吗
只不过,现在有了冰激凌,打印信息 debug 更甜了。 你说冰激凌不是吃的吗,怎么能 debug 了?...程序员 Ansgar Grunseid 看我们使用 print 即打印变量名称,又打印变量的值,太辛苦啦,就做了一个工具,取名叫 icecream,让打印信息 debug 这种方式更“甜”。...打印变量时 ic 的用法和 print 的用法基本一样,但比 print 更好用: ic 可以自动打印变量或表达式的名称。 ic 打印的结果更漂亮的,包含语法高亮。...你仍然可以不用 ic,但是如果经常用 print 来 debug,我就建议你用,为什么? 因为 print 是你的高频要素,改善“高频要素”会从根本上改善生命体的生活质量。...'ic| a: 6' 一次导入处处使用 一个工程,会有很多 py 文件,不想在每个文件内部都 import,可以这样: main.py 只导入一次 from icecream import install
那虚拟文件名和文件本身的名称有什么区别和联系呢,应该如何在知行之桥当中进行设置呢,我们一起来看看吧。...一、什么是虚拟文件名以及实例虚拟文件名与真正的文件名不同,虚拟文件名是文件的一个属性,在设置虚拟文件名后,文件本身的名称不会改变,而文件多了该属性值。...这些VFN中的每一项信息都有固定的位数,比如戴姆勒项目中,首先是固定字符“MB”,再来是三位数字的工厂编号,最后是四位业务类型代码。...二、怎样在知行之桥进行设置在知行之桥中,点击OFTP端口,进入高级设置页面,下拉,找到“虚拟文件名称映射”设置。鼠标光标放置在格子上,就会有提示设置方式的信息出现。...首先可以将以不同名称开头的文件名做映射设置VFN,比如文件名以INVOICE开头的文件代表是发票数据文件,可以将所有这样的文件经过映射改为想要的VFN,设置时就是这样的格式:INVOICE=MB000LAB2
如果我们现在只能得知当前问题的现象,而没有其他任何信息的话,如果我们想要解决掉这个问题的话,那么只能根据问题的现象来试图复现一下,然后再一步步去调试,这恐怕是很难的,很大的概率上我们是无法精准地复现这个问题的...在初始化的时候我们传入了模块的名称,这里直接使用 __name__ 来代替了,就是模块的名称,如果直接运行这个脚本的话就是 __main__,如果是 import 的模块的话就是被引入模块的名称,这个变量在不同的模块中的名字是不同的...main.core,注意这里开头是 main,即刚才我们在 main.py 里面的 Logger 的名称,这样 core.py 里面的 Logger 就会复用 main.py 里面的 Logger 配置...接下来我们定义一个主入口文件,main.py,内容如下: import logging import core import yaml import logging.config import os...观察配置文件,主入口文件 main.py 实际上对应的是 root 一项配置,它指定了 handlers 是 console,即只输出到控制台。
如果我们现在只能得知当前问题的现象,而没有其他任何信息的话,如果我们想要解决掉这个问题的话,那么只能根据问题的现象来试图复现一下,然后再一步步去调试,这恐怕是很难的,很大的概率上我们是无法精准地复现这个问题的...名称 含义 asctime 运行时间 name 模块名称 levelname 日志级别 message 日志内容 接下来声明了一个 logger 对象,它就是日志输出的主类: 调用对象的 info()...如果直接运行这个脚本的话就是 __main__ ; 如果是 import 的模块的话就是被引入模块的名称,这个变量在不同的模块中的名字是不同的,所以一般使用 __name__ 来表示就好了,再接下来输出了四条日志信息...接下来我们定义一个主入口文件,main.py,内容如下: import logging import core import yaml import logging.config import os...观察配置文件,主入口文件 main.py 实际上对应的是 root 一项配置,它指定了 handlers 是 console,即只输出到控制台。
除此之外,数据库里还有其他很多信息我们没有用上,比如演员和导演。这些信息还有个重要的作用,就是把不同的影片关联起来。比如你看了一部电影,对其主演感兴趣,自然就想知道他还演过什么影片。...因此,如果只是想显示出这些信息,可以简单地实现: 主演:$movie.casts 不过现在我们不仅仅要显示主演的名字,还希望能通过主演关联到其他影片。...GET 方法和 index 里的 POST 方法差不多,唯一不同只是把搜索条件从 title 改为 casts。...为了区分对于,你也可以分别改为其他名字 cast_name、url_cast、cast_value 等。 这样就已完成演员名的搜索。现在再点击演员名,就可以跳转到搜索结果的页面。...之前都是从主域名下进行搜索,跳转不会有问题了,而现在一旦使用在 /casts 页面下,跳转就不对了。
如果我们的软件包(假设其名称为 front789)由用户安装,那么当用户执行 require('front789') 时,则将返回主模块的导出对象。...当某个包 A 声明了它的 peerDependencies,它实际上是在声明:“我期望运行时环境中会有某个包 B 的特定版本,但我不会直接将 B 包添加为我的依赖项,而是期望它由运行时环境或其他上层的包提供...❝该文件的目的是确保所有依赖项在不同的机器上以相同的方式安装,从而保证项目在不同环境中能够一致工作。...这些包管理器中仍然存在 package.json 文件,但不同的包管理器可能使用不同的名称来命名锁文件。...通过使用 package.json,我们可以轻松管理项目所需的依赖项,确保安装每个软件包的正确版本。这使得更容易维护项目并在必要时更新依赖项。
如果我们的软件包(假设其名称为 front789)由用户安装,那么当用户执行 require('front789') 时,则将返回主模块的导出对象。...当某个包 A 声明了它的 peerDependencies,它实际上是在声明:“我期望运行时环境中会有某个包 B 的特定版本,但我不会直接将 B 包添加为我的依赖项,而是期望它由运行时环境或其他上层的包提供...该文件的目的是确保所有依赖项在不同的机器上以相同的方式安装,从而保证项目在不同环境中能够一致工作。...这些包管理器中仍然存在 package.json 文件,但不同的包管理器可能使用不同的名称来命名锁文件。...通过使用 package.json,我们可以轻松管理项目所需的依赖项,确保安装每个软件包的正确版本。这使得更容易维护项目并在必要时更新依赖项。
utils.py main.py: # 在自身文件夹下import 引入其他模块 import utils # 引入其他包中的某个模块 import plane.tools # 直接import...,所以如果文件中存在相对引入的话要想运行不报错,不能直接运行,必须给当前模块找一个文件中相对引入的参照物,例如在pycharm终端里面输入命令: python -m direct.mian 就能正常运行了... |-__init__.py |- utils.py main.py main.py: 相对引入: 相对引入引入整个包,这个比较特殊,必须在包的__init__文件中定义其他文件引入该包要用到的东西...可以给引入的名称比较长的模块路径起一个别名,例如: import plane.utils as pu 还有一种引入的方式,模糊引入: from 包名称 import * 这是一个语法糖,慎重使用 如果项目中需要引入的包文件不多的话..., 可以参考使用 如果项目中需要引入的包文件非常庞大,不要使用模糊引入,会严重消耗系统资源 同时使用模糊引入的话需要在引入的包中的声明文件__init__中定义*所包括本包下的哪些模块。
1 引言 最近在开发一个应用软件,为方便调试和后期维护,在代码中添加了日志,用的是Python内置的logging模块,看了许多博主的博文,颇有所得。不得不说,有许多博主大牛总结得确实很好。...参数名称 描述 filename 指定日志输出目标文件的文件名,指定该设置项后日志信心就不会被输出到控制台了 filemode 指定日志文件的打开模式,默认为'a'。...可能没有 threadName %(thread)s 线程名称 module %(module)s 调用日志输出函数的模块名, filename的名称部分,不包含后缀即不包含文件后缀的文件名 created...,也许你想到的做法是在一个模块中配置好一个logger并实例化,在需要用到的模块中进行导入,但如果不同模块的日志器配置有区别时,这种方法就不适用了,若是为每个模块都定义一个logger,所有配置都需要重新写入...文件将被写入以下内容: 2019-03-29 21:43:24 main.py WARNING log_2_warning 4.3 日志回滚 什么是日志回滚呢?
全局安装 您还可以全局安装软件包,这意味着Node.js将能够从您可能需要的任何项目中访问它们。这样做有什么问题吗?...您可以指定程序包的位置及其格式(即,您只能提供一个名称,以便在主注册表中查找它,或者在下载要安装的程序包的tarball文件的路径中)。...在任何一种情况下,它不仅会列出package.json文件中可见的名称和版本,还会列出它们的依赖关系及其版本。 outdated:检查项目中过时的包。...License:用于显示您在项目中设置的实际许可证。如果您将其添加为package.json文件的一部分,它将以不同且更突出的方式显示。...另外,请记住,包的名称将由您的package.json文件中的name属性给出,而不是来自文件夹的名称(通常二者都是相同的,但并这不意味着他俩有什么关系)。
几乎所有版本控制系统都以着不同形式支持分支,如SVM,分支是用于项发开发中从开发从主线分离出去,适用于修改bug,功能开发等,而不影响主线,每个开发人员等到开发完之后,再将分支合并merge到主分支master...如果有两个开发人员,修改了同一个文件同一块区域,那么合并时候就会发生冲突,此时需要人工解决冲突 我们可以看一个例子:新建分支demo3,并分别在master主分支和demo3分支修改同一文件的同一行...步骤: 处理文件中冲突的地方(不修改就会原样上传) 将解决完的文件加入暂存区(add) 提交到仓库 简单粗暴,只需要删掉不需要的值即可,或者修改为你想要的也可以 接着提交修改 git add...实际开发 会有一些 关于分支开发的标准,一般有如下分支使用原则与标准 master (生产) 分支 线上分支,主分支,中小规模项目作为线上运行的应用对应的分支; feature/xxxx分支...从develop创建的分支,一般是同期并行开发,但不同期上线时创建的分支,分支上的研发任务完成后合并到develop分支 hotfix/xxxx分支, 从master派生的分支,一般作为线上bug修复使用
几乎所有版本控制系统都以着不同形式支持分支,如SVM,分支是用于项发开发中从开发从主线分离出去,适用于修改bug,功能开发等,而不影响主线,每个开发人员等到开发完之后,再将分支合并merge到主分支master...:分支删除不能删除当前所在分支,需要删除需要切换到其他分支命令git branch -d 分支名称 注释:在删除时,需要做各项检查,安全删除git branch -D 分支名称 注释:不做任何检查...====== 隔开,解决方法步骤:处理文件中冲突的地方(不修改就会原样上传)将解决完的文件加入暂存区(add)提交到仓库简单粗暴,只需要删掉不需要的值即可,或者修改为你想要的也可以图片接着提交修改git...会有一些 关于分支开发的标准,一般有如下分支使用原则与标准master (生产) 分支线上分支,主分支,中小规模项目作为线上运行的应用对应的分支;feature/xxxx分支从develop创建的分支...,一般是同期并行开发,但不同期上线时创建的分支,分支上的研发任务完成后合并到develop分支hotfix/xxxx分支,从master派生的分支,一般作为线上bug修复使用,修复完成后需要合并到master
之所以会有此一问,也是之前有一次使用PyCharm进行开发时(又)踩了个坑…… ?...~” 很容易可以发现,sys.modules中列出来的已加载模块中存在明显的不同,前面的很多模块显得很干净,而后面的很多模块都带有from yyy'的字样,并且这个yyy看起来还像是一个路径。...这可就比周文王开局就收100个义子优雅多了,养家糊口的压力也就没那么大了(Python:什么?我的亲儿子都不止100个?你说什么?听不见啊—— ?...换个更明显的: import requests as req 如果这个时候只使用了第二种方式来导入requests这个模块,那么很显然在之后的程序流程中,我们都不能使用requests这个名字来调用它而应当使用...,但是说了半天,我们的问题还没有解决:在项目中如何简洁地跨模块导入其他模块?
目录格式为:子目录是以模型名称的大写字母命名的,其中包含两个文件,分别是model.py用于存储模型类,train.py用于训练模型。我们的框架会根据输出模型的名称,自动导入模型对应的训练模块。...:airplane: 步骤3:在命令行中进入main.py所在目录,并用python运行main.py文件。如果是在集成开发环境中可以直接运行main.py文件。...之后我会陆续更新其他模型代码。如果你很喜欢我的框架并希望让它更强大,可随时提交你的代码。...int 1 1 --root -R 默认使用相对路径,如果需要将相对路径改为绝对路径, 请将该值设置为根路径, 结尾不包含'/'。 str None 4 --desc -DS 本次实验的描述。...:airplane: 步骤3: 无论是什么数据集,无论是哪种方式,都别忘记在data_info.py文件中添加数据集的信息,否则程序会运行错误。 :airplane: 步骤4: 使用你的数据集!
init.py文件内可以定义初始化包的内容,导入包的内容,限制包内模块的导出。 init.py文件可以为空,也可以是一个模块,其模块名称为包名称。...每个模块都可以任意写一些没有缩进的代码,并且在载入时自动执行,为了区分模块是主执行文件还是被调用的模块文件,Python引入了一个变量name,当文件是被调用时,name的值为模块名,当文件作为入口被执行时...main.py 的位置有关,与 main.py 同级的包是顶级包,因此main.py入口文件不属于任何包。...在main.py如果作为模块执行时,可以使用相对导入,此时使用如下命令执行: python3 -m main.py 5、绝对导入 绝对导入是导入时必须指定从顶级包到被导入模块名称的完整路径,可以使用import...__all__ = ["module_name1", "module_name2"] B、批量导入 如果包内多个模块文件都需要用到某些模块文件时,可以在包的init.py文件中导入需要的模块文件,然后就可以在本包不同的模块文件中直接使用导入的模块
领取专属 10元无门槛券
手把手带您无忧上云