Heim  >  Fragen und Antworten  >  Hauptteil

Anweisungen und Befehlszeilenoperationen in Python

Ich schreibe ein Skript in Python und habe einige Probleme. Ich muss einen Befehl mit Parametern aus einer Datenbank ausführen. Ich mache Folgendes (erfordert die Installation von mysql.connector):

import mysql.connector
import os
 
mydb = mysql.connector.connect(
  host="localhost",
  user="name",
  password="pass",
  database="base"
)
 
mycursor = mydb.cursor()
 
mycursor.execute("SELECT * FROM `employee` LIMIT 2")
 
myresult = mycursor.fetchall()
 
for row in myresult:
    os.system('command ' + row[1])

Ich habe 3 Fragen:

  1. Liege ich richtig, wenn ich „os“ anstelle von „subprocess“ verwende?
  2. Wenn ich diesen Befehl ausführe, erhalte ich eine Antwort im JSON-Format. Wie kann ich den Wert daraus ermitteln? Muss ich „json importieren“ einschließen?
import json
 
# 一些JSON数据:
x = '{ "name":"John", "age":30, "city":"New York"}'
 
# 解析x:
y = json.loads(x)
 
# 结果是一个Python字典:
print(y["age"])

P粉378890106P粉378890106408 Tage vor468

Antworte allen(1)Ich werde antworten

  • P粉194541072

    P粉1945410722023-09-09 10:31:16

    如果你想知道为什么,你真的应该使用subprocess,请阅读这个


    在Python中,import <module>的用法与C/C++#include <module>预处理指令非常相似,尽管有一些区别。所以你不需要include import json,而是import json

    无论如何,json是Python内置模块,用于解析、编码、缩进和写入.json文件,如果你得到一个JSON格式的响应,你真的应该考虑将其解码为Python的dict对象。

    Antwort
    0
  • StornierenAntwort