我已经接触过这两种工具,但它们似乎服务于相同的目的。我的问题是它们是否不同,如果是,如何不同?
在我的研究中,在我看来 autoenv 的范围是全局的,而 dotenv 是针对特定应用程序的。虽然这在许多情况下似乎是一个优势,但我想知道它是否也会产生不可预见的问题。
其次,使用一个而不是另一个的优点/缺点是什么(或者我应该在不同的情况下使用每个?)
我已经阅读了每个文档的文档,但一直找不到比较两者的文章。相对最近,我对环境变量有了更深入的了解,所以如果我错过了文档中明显的内容,我深表歉意。
如果这会影响我的选择,我主要使用 Flask 开发 Web 应用程序并部署在 Heroku 上。
提前致谢。
我设计了我的数据库表,其中多个表存储一个值,所有这些都可以通过查询一个表来实现。
我的问题是,从不存储重复数据并始终进行查询,或者多次存储小值以减少所需查询的数量,是否会被认为是更好的做法?
作为上下文,我正在构建一个 Python 应用程序,使用 SQLAlchemy 和 SQLite 来测验韩语问题。
我有用户、测验和问题课程。
对于测验问题,所讨论的值为 num_ Correct 和 num_wrong。
基本上我有一个问题表,按 quiz_id 存储与测验相关的所有问题。每个问题都有一个“正确”列,其中存储一个布尔值,表明该问题是否被正确回答。
在我的“测验”表中,我有关于该测验回答的问题的 num_ Correct / num_wrong 列。
在我的“用户”表中,我还有 num_ Correct / num_wrong 列,涉及他们始终正确和错误的总答案。
我意识到,要获取“测验”中的值,我可以查询“问题”表,并获取“用户”中的值,我也可以这样做。
在这种情况下(一般情况下),考虑到最佳实践,哪种策略是首选策略?
我已经尝试过谷歌搜索很多次,但问题的措辞有点棘手。
我用Python 3编写并测试了下面的代码,它工作正常:
def format_duration(seconds):
dict = {'year': 86400*365, 'day': 86400, 'hour': 3600, 'minute': 60, 'second': 1}
secs = seconds
count = []
for k, v in dict.items():
if secs // v != 0:
count.append((secs // v, k))
secs %= v
list = [str(n) + ' ' + (unit if n == 1 else unit + 's') for n, unit in count]
if len(list) > 1:
result = ', '.join(list[:-1]) + ' and ' + list[-1]
else:
result = list[0]
return …Run Code Online (Sandbox Code Playgroud) python ×2
database ×1
environment ×1
flask ×1
heroku ×1
python-2.7 ×1
python-3.x ×1
sql ×1
sqlalchemy ×1