前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >Python系列(十一):Python 文件与数据库操作:数据交互的关键

Python系列(十一):Python 文件与数据库操作:数据交互的关键

原创
作者头像
我是黑桃A
发布2024-12-04 23:44:40
发布2024-12-04 23:44:40
10300
代码可运行
举报
文章被收录于专栏:好事花生~
运行总次数:0
代码可运行

好事发生

今天推荐的文章【金仓数据库数据迁移实战:从MySQL到KES的顺利迁移】,作者【努力的小雨】,二话不说上链接:https://cloud.tencent.com/developer/article/2470895 ,这篇文章深入介绍了数据库MySOL的迁移,详细浅显易懂。

下面来开始我今天的正文...

Python 在文件与数据库操作方面提供了强大的功能,便于与外部数据进行交互。

在文件操作方面,Python 可以使用内置的 open 函数来打开文件,并使用不同的模式进行读取和写入。以只读模式读取文本文件为例:

代码语言:python
代码运行次数:0
复制
file = open("example.txt", "r")
content = file.read()
print(content)
file.close()

这里使用 "r" 模式表示只读,read 方法读取整个文件的内容并存储在 content 变量中,最后需要使用 close 方法关闭文件,以释放系统资源。为了更方便地管理文件资源,也可以使用 with 语句来自动管理文件的关闭,例如:

代码语言:python
代码运行次数:0
复制
with open("example.txt", "r") as file:
    lines = file.readlines()
    for line in lines:
        print(line.strip())

readlines 方法会将文件按行读取并返回一个包含每行内容的列表,通过循环打印出每一行,strip 方法用于去除每行末尾的换行符。

对于文件写入,使用 "w" 模式打开文件会覆盖原有内容,例如:

代码语言:python
代码运行次数:0
复制
with open("output.txt", "w") as file:
    file.write("这是写入文件的内容。\n")

若使用 "a" 模式则可追加内容到文件末尾,如:

代码语言:python
代码运行次数:0
复制
with open("output.txt", "a") as file:
    file.write("这是追加的内容。\n")

在数据库连接方面,对于 SQL 数据库,Python 可以借助第三方库如 pymysqlpsycopg2 等进行连接。以 pymysql 连接 MySQL 数据库为例:

代码语言:python
代码运行次数:0
复制
import pymysql

# 连接数据库
connection = pymysql.connect(
    host="localhost",
    user="root",
    password="password",
    database="mydb"
)

# 创建游标
cursor = connection.cursor()

# 执行 SQL 查询
cursor.execute("SELECT * FROM users")

# 获取结果
results = cursor.fetchall()
for row in results:
    print(row)

# 关闭游标和连接
cursor.close()
connection.close()

首先使用 pymysql.connect 建立与 MySQL 数据库的连接,需要提供数据库主机、用户名、密码和数据库名等信息。然后创建游标对象 cursor,通过游标执行 SQL 查询语句,如 SELECT * FROM users 从名为 users 的表中获取所有数据。fetchall 方法获取查询结果,以元组的形式返回每一行数据,最后关闭游标和连接以释放资源。对于执行插入、更新或删除操作,也有相应的方法和流程,如:

代码语言:python
代码运行次数:0
复制
import pymysql

# 连接数据库
connection = pymysql.connect(
    host="localhost",
    user="root",
    password="password",
    database="mydb"
)

# 创建游标
cursor = connection.cursor()

# 执行插入语句
sql = "INSERT INTO users (name, age) VALUES (%s, %s)"
values = ("John", 30)
cursor.execute(sql, values)

# 提交事务
connection.commit()

# 关闭游标和连接
cursor.close()
connection.close()

这里定义了插入语句 sql 和要插入的值 values,通过游标执行插入操作后,需要使用 connection.commit() 提交事务,使插入生效。

对于 NoSQL 数据库,如 MongoDB,Python 可使用 pymongo 库进行连接和操作。例如:

代码语言:python
代码运行次数:0
复制
from pymongo import MongoClient

# 连接 MongoDB 数据库
client = MongoClient("mongodb://localhost:27017/")

# 获取数据库
db = client["mydb"]

# 获取集合
collection = db["mycollection"]

# 插入文档
document = {"name": "Alice", "age": 25}
collection.insert_one(document)

# 查询文档
results = collection.find()
for result in results:
    print(result)

首先使用 MongoClient 连接到本地的 MongoDB 服务,指定端口为 27017。然后获取指定的数据库和集合,通过 insert_one 方法插入一个文档,使用 find 方法查询集合中的所有文档并打印出来。通过这些文件和数据库操作的能力,Python 能够灵活地处理各种数据存储和读取需求,无论是本地文件系统中的数据,还是数据库中的数据,都能方便地进行交互和处理,为应用程序的开发提供了强大的数据支持。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 好事发生
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档