python使用pymysql实现查询test表中id=1,3,5,7的path值,并将获取到的path存入列表当作工作目录,使用subprocess库,在之前获取到的path列表为工作目录下,依次执行D盘test文件夹中的x.exe这个执行程序并打印后台信息
时间: 2023-05-22 21:02:01 浏览: 79
可以使用以下代码实现:
```python
import pymysql
import subprocess
# 连接数据库
conn = pymysql.connect(host='localhost', port=3306, user='root', password='password', db='test')
cursor = conn.cursor()
# 查询id为1、3、5、7的path值
sql = "SELECT path FROM test WHERE id IN (1, 3, 5, 7)"
cursor.execute(sql)
results = cursor.fetchall()
# 将获取到的path存入列表当作工作目录
path_list = [result[0] for result in results]
# 依次执行D盘test文件夹中的x.exe这个执行程序并打印后台信息
for path in path_list:
subprocess.run(['D:/test/x.exe'], cwd=path, stdout=subprocess.PIPE)
```
这段代码使用了pymysql库连接数据库,并使用cursor对象执行SQL语句查询id为1、3、5、7的path值。然后将获取到的path值存入列表path_list中,并使用subprocess库依次执行D盘test文件夹中的x.exe这个执行程序,并将path作为工作目录传入。最后使用stdout=subprocess.PIPE参数将后台信息打印出来。
相关问题
python使用pymysql实现查询test表中id=1,3,5,7的path值,并将获取到的path存入列表当作工作目录,使用subprocess库,在之前获取到的path列表为工作目录下,依次执行x.exe这个执行程序
可以使用以下代码实现:
```python
import pymysql
import subprocess
# 连接数据库
conn = pymysql.connect(host='localhost', user='root', password='password', database='test', charset='utf8mb4')
cursor = conn.cursor()
# 查询id为1、3、5、7的path值
ids = [1, 3, 5, 7]
paths = []
for id in ids:
sql = "SELECT path FROM test WHERE id=%s"
cursor.execute(sql, id)
path = cursor.fetchone()[0]
paths.append(path)
# 将获取到的path存入列表当作工作目录
for path in paths:
subprocess.Popen(['cd', path])
# 在之前获取到的path列表为工作目录下,依次执行x.exe这个执行程序
for path in paths:
subprocess.Popen(['x.exe'], cwd=path)
```
这段代码会先连接到名为test的数据库,然后查询id为1、3、5、7的path值,并将获取到的path存入列表当作工作目录。接着,使用subprocess库,在之前获取到的path列表为工作目录下,依次执行x.exe这个执行程序。
pymysql实现查询表test中id=1,2,4,7,10的path值,并将获取到的值存入列表
可以使用以下代码实现:
```python
import pymysql
# 连接数据库
conn = pymysql.connect(host='localhost', user='root', password='password', database='test')
# 获取游标
cursor = conn.cursor()
# 查询表test中id=1,2,4,7,10的path值
ids = [1, 2, 4, 7, 10]
paths = []
for id in ids:
sql = "SELECT path FROM test WHERE id=%s"
cursor.execute(sql, id)
result = cursor.fetchone()
if result:
paths.append(result[0])
# 关闭游标和连接
cursor.close()
conn.close()
# 打印获取到的值
print(paths)
```
这段代码首先连接到名为test的数据库,然后获取游标。接着,使用循环查询表test中id为1、2、4、7、10的path值,并将结果存入列表中。最后,关闭游标和连接,并打印获取到的值。
阅读全文