python变量作为字符串

2024-03-29 10:00:28 发布

您现在位置:Python中文网/ 问答频道 /正文

当我运行以下命令时,我从print得到了所需的输出。然后我尝试将结果插入到我的创建文件中。我可以输入一个属性.text在那里的值,它工作良好或只是'字符串',但当我试图调用那里的结果,它只是不做任何事情。你知道吗

alarms = system.alarm.queryStatus(state=["ActiveUnacked", "ClearAcked"])

for alarm in alarms: 
print alarm.getName(), alarm.getState()

结果

Dryer 7 Temp low Cleared, Acknowledged
Dryer 10 Temp High Cleared, Acknowledged
Dryer 5 Burner Fault Cleared, Acknowledged

当我运行这个

alarms = system.alarm.queryStatus(state=["ActiveUnacked", "ClearAcked"])
for alarm in alarms: 
alarm1 = alarm.getName(), alarm.getState()

my_file = open('D:\send_file3.txt','w')
my_file.write('from call import Client\n')
my_file.write('account_sid = "test"\n')
my_file.write('auth_token = "test"\n')
my_file.write('client = Client(account_sid, auth_token)\n')
my_file.write('message =client.api.account.messages.create(to="+6140000000", 
from_="+614000000000", body=" ')
my_file.write(alarm1)
my_file.write(' ")') 
my_file.close()

文本文件输出

它将所有行写入

body="

然后是空白。如果我把alarm1改成“你好”

我得到body="hello ")。你知道吗

我想要达到的是

body="Dryer 7 Temp low Cleared, Acknowledged Dryer 10 Temp High Cleared, Acknowledged Dryer 5 Burner Fault Cleared, Acknowledged"

任何帮助都将不胜感激


Tags: mybodyaccountsystemtempfilewriteprint
2条回答

为此任务使用字符串格式。More info

 alarms = system.alarm.queryStatus(state=["ActiveUnacked", "ClearAcked"])
    for alarm in alarms: 
        alarm1 = alarm.getName(), alarm.getState()
        my_file = open('D:\send_file3.txt','w')
        my_file.write('from call import Client\n')
        my_file.write('account_sid = "test"\n')
        my_file.write('auth_token = "test"\n')
        my_file.write('client = Client(account_sid, auth_token)\n')
        my_file.write('message=client.api.account.messages.create(to="+6140000000", from_="+614000000000", body=\"{}\"').format(alarm1)
        my_file.close()

因为alarm不是字符串/文本,所以不能将其直接写入文件。您可以通过将alarm.getName()alarm.getState()放入列表中,并使用分隔符","将它们作为字符串连接起来来实现这一点。然后你可以把它写进一个文件

my_file = open('D:\send_file3.txt','w')
my_file.write('from call import Client\n')
my_file.write('account_sid = "test"\n')
my_file.write('auth_token = "test"\n')
my_file.write('client = Client(account_sid, auth_token)\n')
my_file.write('message =client.api.account.messages.create(to="+6140000000", 
from_="+614000000000", body=" ')
for alarm in alarms: 
    myfile.write(",".join([alarm.getName(), alarm.getState()]))

相关问题 更多 >