簡體   English   中英

Python os.system可內聯工作,但不能作為變量

[英]Python os.system works inline but not as a variable

此函數通過EMAIL變量將Google環聊消息發送給收件人。

它在以下情況下有效,即內聯電子郵件不加引號。

import os
EMAIL='in06khattab@gmail.com'

os.system('sudo echo "jjj" | sendxmpp -v -t in06khattab@gmail.com') #send hangouts message

但是,當我將變量插入其位置時,它不會發送。 沒有錯誤消息,並且調試似乎可以正確發送,但是我認為它發送的是“ in06khattab@gmail.com”,而不是in06khattab@gmail.com。 所以可能包括引號,

os.system('sudo echo "jjj" | sendxmpp -v -t EMAIL') #send hangouts message

Python不會像這樣解釋字符串中的變量。

使用串聯:

os.system('sudo echo "jjj" | sendxmpp -v -t ' + EMAIL)

或字符串格式:

os.system('sudo echo "jjj" | sendxmpp -v -t %s' % EMAIL)

為了向前兼容性和可讀性,我建議使用format替換EMAIL變量。

os.system('sudo echo "jjj" | sendxmpp -v -t {email}'.format(email=EMAIL))

請參閱此線程以了解為什么這比%編碼更可取

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM