我目前正在完成学校的自动脚本作业...我正在尝试创建一个表(如果它不存在)。但我希望该表具有来自计算机的主机名(它在虚拟机上工作)。我尝试在神奇的互联网上进行搜索。但我找不到明确的答案。
是否可以添加这样的主机名?
#!/bin/python3
import psutil
import socket
import mysql.connector
machine = socket.gethostname()
memory = psutil.virtual_memory()[2]
disk = psutil.disk_usage('/').percent
cpu = psutil.cpu_percent()
#print (machine, memory, disk, cpu)
def create_table():
try:
connection = mysql.connector.connect(host='192.168.0.2',
database='gegevens',
user='db_user',
password='Welkom01')
if connection.is_connected():
cursor = connection.cursor()
sql = "CREATE TABLE IF NOT EXISTS "+ machine("virtual_mem varchar(255), disk_usage varchar(255),cpu_usage varchar (255);")
cursor.execute(sql)
connection.commit()
finally:
if (connection.is_connected()):
cursor.close()
connection.close()
print("MySQL connection is closed")
create_table()
或者你们建议我采取不同的做法。因为当我尝试像这样运行它时,我收到了 TypeError;
Traceback (most recent call last):
File "./agent.py", line 36, in <module>
create_table()
File "./agent.py", line 23, in create_table
sql = "CREATE TABLE IF NOT EXISTS "+ machine("virtual_mem varchar(255), disk_usage varchar(255),cpu_usage varchar (255);")
TypeError: 'str' object is not callable
通过许多 quamrana 和 S3DEV 我已经弄清楚如何完成它......我已经更改了第 23 行:
sql = "CREATE TABLE IF NOT EXISTS "+ machine("virtual_mem varchar(255), disk_usage varchar(255),cpu_usage varchar (255);")
进入:
sql = f"CREATE TABLE IF NOT EXISTS {machine} (virtual_mem varchar(255), disk_usage varchar(255),cpu_usage varchar (255))"
这样就可以工作了。
慕哥9229398
慕仙森
相关分类