Python 文件常数引用问题小结

 更新时间:2025年10月28日 16:13:55   作者:年六季  
Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言,本文给大家介绍Python 文件常数引用问题小结,感兴趣的朋友跟随小编一起看看吧

了解Python

Python介绍

Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。

Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。

  • Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。
  • Python 是交互式语言: 这意味着,您可以在一个 Python 提示符 >>> 后直接执行代码。
  • Python 是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。
  • Python 是初学者的语言:Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到 WWW 浏览器再到游戏
  • Python目前分为两种流行版本

① Python 2.0x

② Python 3.0x

首先Python 3的版本是现在与未来的主流版本

在Python3.5+以及以上的版本,不支持Windows xp以及更低的系统

并且在Windows 7当中必须安装sp1补丁包才可以运行

建议选择Python 3.6.1-2017-03-21这种文件名的版本,是比较稳定发布的版本

Python特点

  • 1.易于学习:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单。
  • 2.易于阅读:Python代码定义的更清晰。
  • 3.易于维护:Python的成功在于它的源代码是相当容易维护的。
  • 4.一个广泛的标准库:Python的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好。
  • 5.互动模式:互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断。
  • 6.可移植:基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台。
  • 7.可扩展:如果你需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用。
  • 8.数据库:Python提供所有主要的商业数据库的接口。
  • 9.GUI编程:Python支持GUI可以创建和移植到许多系统调用。
  • 10.可嵌入: 你可以将Python嵌入到C/C++程序,让你的程序的用户获得"脚本化"的能力

在一个 Python 文件里定义一些常数,比如模型路径、视频保存开关、窗口尺寸等,
然后在另一个文件里能直接引用这些常数,而不用重复写一遍。

这在工程化中非常常见

一、定义常数文件(比如 config_const.py)

可单独建一个文件,例如:
config_const.py

# config_const.py
# -------------------------
# 全局常数定义文件
# -------------------------
# 视频保存相关
SAVE_VIDEO = True
VIDEO_FPS = 20
VIDEO_WIDTH = 1280
VIDEO_HEIGHT = 720
# 模型路径
MODEL_PATH = "weights/lane_detect_model.engine"
# 其他常量
DETECTION_THRESHOLD = 0.5

二、在其他 Python 文件中引用

比如在 run.py 想用这些常量,只需:

from config_const import SAVE_VIDEO, VIDEO_FPS, VIDEO_WIDTH, VIDEO_HEIGHT
# 使用
if SAVE_VIDEO:
    out_writer = cv2.VideoWriter("output.mp4", cv2.VideoWriter_fourcc(*'mp4v'), VIDEO_FPS, (VIDEO_WIDTH, VIDEO_HEIGHT))

或者直接导入整个模块:

import config_const as C
if C.SAVE_VIDEO:
    print(f"保存视频尺寸:{C.VIDEO_WIDTH}x{C.VIDEO_HEIGHT}")

三、项目结构推荐

project/
│
├── run.py
├── postprocess_lanes.py
├── config_const.py   存放全局常量
├── utils/
│   ├── __init__.py
│   ├── video_utils.py
│   └── model_utils.py

这样所有文件都可以用:

from config_const import *

或:

import config_const as C

四、如果要让常量可以跨模块修改(例如参数调整)

可以把常量写在一个类或字典中,方便动态修改:

# config_const.py
class Config:
    SAVE_VIDEO = True
    VIDEO_FPS = 20
    VIDEO_WIDTH = 1280
    VIDEO_HEIGHT = 720

然后在别的文件用:

from config_const import Config
Config.SAVE_VIDEO = False  # 修改也能影响全局引用
print(Config.VIDEO_FPS)

五、总结对照表

方式优点缺点
直接定义常量(推荐)简洁明了,易维护不能动态修改
类封装(Config)可读性高,支持动态修改稍微多写一点
JSON/YAML 文件读取易于配置化需要额外读取逻辑

建议在项目中专门建一个 config_const.py 来集中放置这些常数。
例如像现在的 config_p 一样,就可以把默认值放在常数文件里,这样别的模块都能引用。

到此这篇关于Python 文件常数引用问题小结的文章就介绍到这了,更多相关Python 文件常数引用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python 三边测量定位的实现代码

    python 三边测量定位的实现代码

    这篇文章主要介绍了python 三边测量定位的实现代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • matplotlib绘制甘特图的万能模板案例

    matplotlib绘制甘特图的万能模板案例

    matplotlib是常见的绘图库,本文主要介绍了matplotlib绘制甘特图的万能模板案例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • 如何使用Python的xml.etree.ElementTree模块解析和操作 XML 数据

    如何使用Python的xml.etree.ElementTree模块解析和操作 XML 数据

    xml.etree.ElementTree是Python标准库中用于解析和操作XML数据的模块,无需安装,支持解析、创建、修改和查询XML数据,本文介绍如何使用Python的xml.etree.ElementTree模块解析和操作 XML 数据,感兴趣的朋友跟随小编一起看看吧
    2025-01-01
  • 10款最佳Python开发工具推荐,每一款都是神器

    10款最佳Python开发工具推荐,每一款都是神器

    这篇文章主要介绍了10款最佳Python开发工具推荐,每一款都是神器,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2020-10-10
  • 关于python字符串方法分类详解

    关于python字符串方法分类详解

    在本篇文章里小编给各位整理的是关于关于python字符串方法分类的知识点内容,有兴趣的朋友们学习下。
    2019-08-08
  • Python中的字典合并与列表合并技巧

    Python中的字典合并与列表合并技巧

    这篇文章主要介绍了Python中的字典合并与列表合并技巧,下文围绕主题展开详细的内容介绍,具有一的的参考价值,需要的小伙伴可以参考一下
    2022-05-05
  • python虚拟环境多种创建方式图文详解

    python虚拟环境多种创建方式图文详解

    创建虚拟环境是为了让项目运行在一个独立的局部的Python环境中,使得不同环境的项目互不干扰,这篇文章主要给大家介绍了关于python虚拟环境多种创建方式的相关资料,需要的朋友可以参考下
    2024-08-08
  • Python Matplotlib 基于networkx画关系网络图

    Python Matplotlib 基于networkx画关系网络图

    这篇文章主要介绍了Python Matplotlib 基于networkx画关系网络图,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • python光学仿真实现光线追迹之空间关系

    python光学仿真实现光线追迹之空间关系

    这篇文章主要介绍了python光学仿真中实现光线追迹的空间关系示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-10-10
  • python pymysql库的常用操作

    python pymysql库的常用操作

    这篇文章主要介绍了python pymysql库的常用操作,帮助大家更好的利用python操作数据库,感兴趣的朋友可以了解下
    2020-10-10

最新评论