Python プロジェクトで構成を読み書きする正しい方法は何ですか?
1. Python ファイルに設定を書き込みます
この方法は非常に簡単ですが、セキュリティ上重大な問題があります。設定はコードに記述されています。誰かがソースコードを github にアップロードすると、データベースの設定が全世界に公開されたことになります。もちろん、この単純な設定は、設定ファイルに機密情報が含まれていない場合にも使用できます。方法。
2. 外部設定ファイルを使用します
設定ファイルとコードを独立させます通常、設定の保存には json、yaml、または ini のファイル形式が使用されます。
環境変数とPythonライブラリを組み合わせて外部ファイルを読み込む まず、開発では通常生成環境に触れることがないため、生成環境の設定ファイルは運用と保守、運用と保守はすべて適用されます。必要な構成を書き込んだ後、それを運用サーバー上の指定された場所に配置すると、コードは指定された場所から構成を読み取ります。
プログラムの統一的なデバッグを容易にするために、システム環境変数 (XXX_CONFIG_PATH) を事前に合意して、構成ファイルの保存パスを指定できます。
例: export XXX_CONFIG_PATH =
/home/test/configs/config.ini これは、一時的な環境変数を設定するためのものです
linux、ubuntu 環境変数
查看环境变量: env 设置永久环境变量 1.在/etc/profile 的文件下编辑,所改变的环境变量是面向所有用户的 export CLASSPATH = /../...该路径为绝对路径 2.在当前用户目录下./barsh_profile文件中修改 进行修改的话,仅对当前的用户生效 vim /home/wens/.barshc export CLASSPATH = /../...该路径为绝对路径 最后使用source命令 可以直接使环境变量生效 source/home/wens/.barshc //直接跟环境变量的文件
windows 環境変数
查看环境变量: set 查看某个环境变量: set path 修改环境变量 输入 “set 变量名=变量内容”即可。比如将path设置为“d:nmake.exe”,只要输入set path="d:nmake.exe" 注意:所有的在cmd命令行下对环境变量的修改只对当前窗口有效,不是永久性的修改。也就是说当关闭此cmd命令行窗口后,将不再起作用。 永久性修改环境变量的方法有两种: 一种是直接修改注册表 另一种是通过我的电脑-〉属性-〉高级,来设置系统的环境变量(查看详细) 设置了环境变量后,需要重启 pycharm 生效
3. システム環境変数を直接使用して構成を読み取ります
#この方法 実際には、構成情報を保存するためにファイルを使用するのではなく、すべての構成情報を環境変数に保存するのが一般的です。運用と保守では、Ansible デプロイメント スクリプトを使用して、環境変数を実行する前に、構成する必要がある情報をインポートします。プログラム。
ファイルストレージを使用しないことにより、パスワードなどの構成情報の保護はある程度強化されますが、特に構成変更が必要な場合には運用保守の負担が増大します。
4. マイクロサービス アーキテクチャ一部のマイクロサービス アーキテクチャでは、構成センターが特別に開発され、プログラムがオンラインから構成を直接読み取り、構成管理が行われます。開発や運用保守を容易にするためのGUIを開発します。
5. 一般的なプロジェクトで推奨される設定方法-app
-__init.py
-app.py
-settings
-__init__.py
-base.py
-dev.py
-prod.py
ログイン後にコピー
-app -__init.py -app.py -settings -__init__.py -base.py -dev.py -prod.py
その中に、開発環境か本番環境を使用するか現在の環境を判断するための判定ロジックを追加してロードします。異なる構成パラメータ。 # settings/__init__.py
import os
# os.environ.get() 用于获取系统中的环境变量,因为在生产环境中,一般都会把一些关键性的参数写到系统的环境中。
# 所以PROFILE的值其实就是我们配置的环境变量的值。如果没有配这个值,默认走dev的配置。
# PYTHON_PRO_PROFILE = os.environ.get("PYTHON_PRO_PROFILE", "dev")
PYTHON_PRO_PROFILE = os.environ.get("PYTHON_PRO_PROFILE")
print("是开发环境还是生产环境: ", PYTHON_PRO_PROFILE)
if PYTHON_PRO_PROFILE == "dev":
from .dev import *
elif PYTHON_PRO_PROFILE == "prod":
from .prod import *
else:
raise Exception("Not supported runtime profile {}".format(PYTHON_PRO_PROFILE))
にはいくつかの一般的な構成が保存され、開発環境 dev.py と運用環境 prod に保存されます。 . base.py の変数を py にインポートします。 # settings/base.py
import os
import time
# os.path.abspath: 获取完整路径(包含文件名)
current_exec_abspath = os.path.abspath(__file__)
current_exec_dir_name, _ = os.path.split(current_exec_abspath)
current_up_dir, _ = os.path.split(current_exec_dir_name)
current_up2_dir, _ = os.path.split(current_up_dir)
print('------log dir=------', current_up2_dir)
# 日志文件路径设置
log_path = f"{current_up2_dir}/logs"
if not os.path.exists(log_path):
os.makedirs(log_path)
t = time.strftime("%Y_%m_%d")
log_path_file = f"{log_path}/interface_log_{t}.log"
えー 以上がPython プロジェクトで構成を読み書きする正しい方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。# 导入了base下所有参数
from .base import *
database = {
"protocol": "mysql+mysqlconnector",
"username": "xxxxxx",
"password": "hash string",
"port": 3306,
"database": "repo"
}

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

PythonコードをSublimeテキストで実行するには、最初にPythonプラグインをインストールし、次に.pyファイルを作成してコードを書き込み、Ctrl Bを押してコードを実行する必要があります。コードを実行すると、出力がコンソールに表示されます。

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

Pythonは、スムーズな学習曲線と簡潔な構文を備えた初心者により適しています。 JavaScriptは、急な学習曲線と柔軟な構文を備えたフロントエンド開発に適しています。 1。Python構文は直感的で、データサイエンスやバックエンド開発に適しています。 2。JavaScriptは柔軟で、フロントエンドおよびサーバー側のプログラミングで広く使用されています。

Golangは、パフォーマンスとスケーラビリティの点でPythonよりも優れています。 1)Golangのコンピレーションタイプの特性と効率的な並行性モデルにより、高い並行性シナリオでうまく機能します。 2)Pythonは解釈された言語として、ゆっくりと実行されますが、Cythonなどのツールを介してパフォーマンスを最適化できます。

Visual Studioコード(VSCODE)でコードを作成するのはシンプルで使いやすいです。 VSCODEをインストールし、プロジェクトの作成、言語の選択、ファイルの作成、コードの書き込み、保存して実行します。 VSCODEの利点には、クロスプラットフォーム、フリーおよびオープンソース、強力な機能、リッチエクステンション、軽量で高速が含まれます。

メモ帳でPythonコードを実行するには、Python実行可能ファイルとNPPEXECプラグインをインストールする必要があります。 Pythonをインストールしてパスを追加した後、nppexecプラグインでコマンド「python」とパラメーター "{current_directory} {file_name}"を構成して、メモ帳のショートカットキー「F6」を介してPythonコードを実行します。
