Python 解码
b=b'\xE8\xA7\xA3\xE5\x86\xB3'
b.decode('utf-8')
'解决'
继续阅读“\x 开头编码的数据解码成中文” xuenhua’s 站点
声明:python,cx_Oracle和instantclient的版本应一致
我这里使用的版本是python3.6 64位 ,cx_Oracle-5.3-11g.win-amd64-py3.6-2和instantclient-basic-windows.x64-18.5.0.0.0dbru
1. 首先安装cx_Oracle包
尽量不要直接使用pip install cx_Oracle,这样默认安装的是最新版本的cx_Oracle,可能会出现以下错误
1.1 cx_Oracle 报错:cx_Oracle.DatabaseError: DPI-1050: Oracle Client library must be at version 11.2
解决方法:从 https://pypi.python.org/pypi/cx_Oracle/5.3 下载低版本cx_Oracle版本 可以下载cx_Oracle-5.3-11g.win-amd64-py3.6-2.exe ,然后直接安装
1.2 如果在安装cx_Oracle-5.3-11g.win-amd64-py3.6-2.exe 时提示Python version 3.6 required, which was not found in the registry
可以通过执行这个文件来解决
register.py 链接: https://pan.baidu.com/s/1GcPK_I7ddSLZkM2sv7AHtA 提取码: qrwm
2. 下载instantclient-basic-windows.x64-11.2.0.4.0.zip,解压并配置环境变量(放到path中)
下载地址:https://www.oracle.com/technetwork/cn/topics/winx64soft-101515-zhs.html
下载好后解压,并配置环境变量
3. 将instantclient下所有.dll文件到python\Lib\site-packages\下(我这里的路径为C:\Develop\Anaconda3\Lib\site-packages)
4. 测试代码如下
import cx_Oracle conn=cx_Oracle.connect('username','password','172.16.5.29:1521/ORCL') cursor=conn.cursor() print("连接成功!") cursor.close() conn.commit() conn.close()
当你看到“连接成功”的提示语句时,那么就恭喜你成功了用python连上了oracle数据库
完成这个任务的整体流程,具体步骤如下:
步骤1 连接到MySQL数据库
步骤2 执行SQL查询语句
步骤3 获取查询结果
步骤4 提取相应字段的值
接下来,我将逐个步骤详细说明。
步骤1:连接到MySQL数据库
首先,我们需要安装Python的MySQL驱动程序。在命令行中运行以下命令安装驱动程序:
pip install mysql-connector-python #mysql-connector已经过期
接下来,在Python脚本中引入MySQL驱动程序,并使用connect()函数连接到MySQL数据库。你需要提供数据库的相关信息,例如主机名、用户名、密码和数据库名称。
import mysql.connector
# 连接到MySQL数据库
cnx = mysql.connector.connect(
host=”localhost”,
user=”yourusername”,
password=”yourpassword”,
database=”yourdatabase”
)
步骤2:执行SQL查询语句
一旦成功连接到MySQL数据库,我们就可以执行SQL查询语句了。在这个示例中,我们执行一个简单的SELECT语句来检索一条数据:
# 执行SELECT语句
cursor = cnx.cursor()
sql = “SELECT * FROM yourtable”
cursor.execute(sql)
步骤3:获取查询结果
执行查询后,我们需要从结果中获取数据。MySQL驱动程序提供了fetchall()方法来获取所有查询结果。这个方法返回一个元组列表,每个元组代表一条查询结果。
# 获取查询结果
results = cursor.fetchall()
步骤4:提取相应字段的值
最后,我们需要从查询结果中提取相应字段的值。假设我们的查询结果包含三个字段:id、name和age。我们可以使用索引来提取这些字段的值。
# 提取相应字段的值
for result in results:
id = result[0]
name = result[1]
age = result[2]
print(“ID: “, id)
print(“Name: “, name)
print(“Age: “, age)
完成以上步骤后,你将能够成功获取MySQL查询结果的相应字段值。
import argparse
parser = argparse.ArgumentParser(description='manual to this script')
parser.add_argument("--gpus", type=str, default="0")
parser.add_argument("--batch-size", type=int, default=32)
args = parser.parse_args()
print(args.gpus)
print(args.batch_size)