python - 如何在 git bash 中使用 try-catch 连接 mongodb 并捕获 mondodb 连接错误?
问题描述
** a) 我想连接到 MongoDB b) 使用 try-catch 块包围 Mondodb c)catch 异常。
我必须使用 git 来获取最新的分支。
I have assumed that the below command will run before MongoDB connection:
source setenv.sh
source /opt/home/setenv.sh
python3 mongodb.py
python 脚本应该有一个与 /opt/home/ 下的 setenv.sh 脚本同名的 shell 包装器
外壳包装器名称:mongodb.sh python 脚本名称:mongodb.py 我必须使用外壳包装器来运行脚本
编码环境是jupyter实验室,我不知道如何使用它,这就是我在这里问这个问题的原因。喜欢寻求帮助
我使用下面的代码与 mongo 连接:
from urllib.parse
import quote_plus
import os
import json from pymongo
import MongoClient
import SSL
def main():
environment = "Git" if os.environ.get('ENVIRONMENT_NAME') is None else os.environ.get('ENVIRONMENT_NAME')
config_directory = os.path.abspath(os.path.join(os.path.dirname(__file__)))
with open(os.path.join(config_directory, "report_config.json")) as f:
common_configuration = json.load(f)
#mongo_db = common_configuration['mongo_db_'+environment]
mongo_url, mongo_db_name= create_mongo_url_db()
#print("mongo_url:%s, mongo_db_name:%s" %(mongo_url,mongo_db_name))
# mongo_url = "mongodb://%s:%s@%s:%s" % (
# quote_plus(mongo_db['user_name']), quote_plus(mongo_db['password']),
# quote_plus(mongo_db['host']), quote_plus(mongo_db['port']))
#mongo_db_name= mongo_db['mongo_db_name']
collection_name= "workflow"
db = MongoClient(mongo_url, ssl=True, ssl_cert_reqs=ssl.CERT_NONE)
解决方案
推荐阅读
- python - 从 python2 脚本列表输出中删除 u' unicode
- vue.js - Nuxt/Vue 路由参数更新元标题
- excel - 巴士舱单摘要页面公式(列出有开放座位的巴士)
- azure - Azure DevOps “成功”部署了 FunctionApp,但未进行任何更改
- java - 将 Java 和 Prolog 与 JPL 连接时出现问题
- python - 在 Beautiful Soup 中使用 find 函数时返回 NoneType 值
- r - 如何使用“插入符号”库在 R 中加载数据?
- swift - 在 Swift 中,如何在由结构对象数组组成的字典中进行搜索?
- javascript - Javascript OOP 非常新:通过输入将值传递给属性无法呈现单个元素
- azure - 用于强制执行密钥保管库机密的 Azure 策略