一、Python读取文件拒绝访问错误
在Python中,我们经常需要读取文件来获取数据或者进行数据的写入。但有时候,当我们尝试读取某个文件时,会遇到文件拒绝访问的错误。
这个错误通常是由于文件权限设置不正确导致的,解决方法有以下几种:
1. 管理员身份运行程序
在Windows系统中,有些文件可能需要管理员身份才能访问。我们可以在CMD窗口或者PowerShell中以管理员身份运行程序,这样程序就会以管理员权限运行,避免了权限不足的问题。
2. 更改文件权限
如果我们没有管理员权限,或者以管理员身份运行程序依然无法访问文件,可以尝试更改文件权限。在Windows系统中,可以通过文件右键属性 -> 安全选项卡 -> 编辑 来更改文件的权限设置。
3. 移动文件位置
有时候,文件的存放位置也可能会导致访问被拒绝。我们可以把文件移动到其他位置,或者将文件夹的权限设置为可读写,来解决访问被拒绝的问题。
二、Python对数据库的增删改查
Python不仅可以读取文件,还可以对数据库进行操作。下面我们介绍一下Python对数据库的增删改查操作。
1. 连接数据库
在Python中,我们可以使用`pymysql`模块来连接MySQL数据库。首先,我们需要引入该模块,并且指定数据库的连接参数:
```
import pymysql
conn = pymysql.connect(
host='localhost',
port=3306,
user='root',
password='123456',
database='test',
charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor
)
```
在以上代码中,我们设定了MySQL数据库的主机地址、端口号、用户名、密码、需要连接的数据库名称、使用的字符集和游标类型。
2. 增加数据
在连接了数据库后,我们可以使用`execute()`方法来执行SQL语句,从而对数据库进行操作。
下面是一个向表中插入数据的示例,我们使用`execute()`方法将SQL语句传给游标对象进行执行:
```
try:
with conn.cursor() as cursor:
# 插入数据
sql = "INSERT INTO users (name,age) VALUES (%s,%s)"
cursor.execute(sql, ('Bob', 21))
conn.commit()
finally:
conn.close()
```
以上代码中,我们使用了`with conn.cursor() as cursor:`来自动关闭游标对象,避免了手动关闭游标对象的步骤。然后,我们传入`INSERT INTO users (name,age) VALUES (%s,%s)`作为执行的SQL语句,在语句中使用占位符`%s`来代替实际的参数值。
最后,我们使用`commit()`方法提交当前事务,将修改保存到数据库中。
3. 修改数据
接下来,我们介绍一下如何修改数据库的数据。以下示例修改了`users`表中年龄小于18岁的行中的信息。
```
try:
with conn.cursor() as cursor:
# 更新数据
sql = "UPDATE users SET name=%s,age=%s WHERE age < %s"
cursor.execute(sql, ('Tom', 18, 18))
conn.commit()
finally:
conn.close()
```
这段代码中,我们传入了一个`UPDATE users SET name=%s,age=%s WHERE age < %s`的SQL语句,其中使用了WHERE子句来确定需要修改的行。通过传递参数,我们实现了将年龄小于18岁的行中的`name`和`age`修改为`Tom`和`18`。
4. 删除数据
如果我们需要删除数据库中的某些数据,可以使用`DELETE FROM`等SQL语句来执行删除操作。下面是一个删除`users`表中`age`小于18岁的行的示例:
```
try:
with conn.cursor() as cursor:
# 删除数据
sql = "DELETE FROM users WHERE age < %s"
cursor.execute(sql, (18,))
conn.commit()
finally:
conn.close()
```
在这段代码中,我们传入了`DELETE FROM users WHERE age < %s`作为需要执行的SQL语句,然后传递参数`18`作为需要删除的数据。
5. 查询数据
当我们需要查询数据库中的数据时,可以使用`SELECT`等SQL语句来执行查询操作。以下是一个查询`users`表中`age`等于18岁的数据的示例:
```
try:
with conn.cursor() as cursor:
# 查询数据
sql = "SELECT * FROM users WHERE age=%s"
cursor.execute(sql, (18,))
result = cursor.fetchall()
print(result)
finally:
conn.close()
```
我们通过`SELECT * FROM users WHERE age=%s`这个SQL语句来查询符合条件的数据,将查询结果存储到`result`变量中,最后打印结果即可。
以上就是Python对数据库的增删改查操作的简要介绍。在实际使用中,我们需要根据需要对数据库内容进行操作,灵活运用SQL语句来实现我们的需求。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.ynyuzhu.com/
发表评论 取消回复