推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
zeyexe
V2EX  ›  Python

Python 项目级别的变量应该怎么做

  •  
  •   zeyexe · Aug 3, 2016 · 5624 views
    This topic created in 3608 days ago, the information mentioned may be changed or developed.
    不使用数据库或文件,怎么实现项目范围级别的变量,可以让整个项目目录下不同文件和模块访问的变量。

    具体来说是我想设置一个项目名,可以随时读取到这个值。
    19 replies    2016-08-05 11:09:28 +08:00
    virusdefender
        1
    virusdefender  
       Aug 3, 2016   ❤️ 1
    环境变量
    sweetpotato
        2
    sweetpotato  
       Aug 3, 2016 via Android   ❤️ 1
    比如模块 settings 然后 buildin ?
    zeyexe
        3
    zeyexe  
    OP
       Aug 3, 2016
    @sweetpotato 能不能解释下怎么操作?
    sweetpotato
        4
    sweetpotato  
       Aug 4, 2016 via Android   ❤️ 1
    @zeyexe __builtin__.settings = settings 对于用户模块 settings 就可以直接 import settings 了,这方法不一定好😁
    zeyexe
        5
    zeyexe  
    OP
       Aug 4, 2016
    @sweetpotato 不走寻常路啊
    liangmishi
        6
    liangmishi  
       Aug 4, 2016   ❤️ 1
    我的想法是在项目的根目录下创建 config 文件 里面专门放这些变量,有哪个文件需要用就 from config import ...
    cxbig
        7
    cxbig  
       Aug 4, 2016   ❤️ 1
    说到变量,那么改动有多频繁?如果是经常改动,放数据库;如果根据部署环境变,放.env 或其他 config 文件。
    zeyexe
        8
    zeyexe  
    OP
       Aug 4, 2016
    @liangmishi 我主要是想寻找一个最简便的方法。
    chu1337
        9
    chu1337  
       Aug 4, 2016   ❤️ 1
    单例?
    wqchen
        10
    wqchen  
       Aug 4, 2016   ❤️ 1
    .env 文件
    abxialiang
        11
    abxialiang  
       Aug 4, 2016   ❤️ 1
    cfg.py
    v1=0
    v2=1

    b.py
    import cfg
    print cfg.v1

    我就经常这么干
    sweetpotato
        12
    sweetpotato  
       Aug 4, 2016 via Android   ❤️ 1
    @zeyexe 其实也没必要内置,一般导入就好
    zhuangzhuang1988
        13
    zhuangzhuang1988  
       Aug 4, 2016   ❤️ 1
    参考 Django 的 config 就好。。
    mengzhuo
        14
    mengzhuo  
       Aug 4, 2016 via iPhone   ❤️ 1
    必须环境变量啊
    其他的都是歪门邪道
    srlp
        15
    srlp  
       Aug 4, 2016 via iPhone   ❤️ 1
    不使用配置文件,那就只有环境变量了
    bravecarrot
        16
    bravecarrot  
       Aug 4, 2016 via iPhone   ❤️ 1
    为什么不放在 settings.py 里面?
    zeyexe
        17
    zeyexe  
    OP
       Aug 4, 2016
    @bravecarrot 很多地方都需要这个变量,但是我并不喜欢到处 import 。
    ecloud
        18
    ecloud  
       Aug 4, 2016   ❤️ 1
    似乎现在没人用 Berkeley DB 了?
    repus911
        19
    repus911  
       Aug 5, 2016   ❤️ 1
    想用变量还不想到处 import...无米之炊啊 少年
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2665 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 55ms · UTC 04:10 · PVG 12:10 · LAX 21:10 · JFK 00:10
    ♥ Do have faith in what you're doing.