簡體   English   中英

在python中使用os.system()執行linux命令

[英]Using os.system() in python to execute linux command

我在python中使用腳本從Postfix服務器獲取郵件。 該腳本提取郵件,刪除標題,僅保留電子郵件正文。 然后,它使用此主體通過os.system()執行linux命令。 例如,我要發送帶有mkdir folder電子郵件,腳本將創建此mkdir folder

問題是當我通過郵件發送ls 我得到回應: not found ls

第二個問題是mkdir因為它在電子郵件的名稱中添加了^ M。 例如,我發送了mkdir folder ,它創建了“ folder ?”。

你有什么想法 ?

您已經發現了問題:電子郵件中有您所期望的^ M個字符。 (CR LF是常見的行尾約定; Unix通常不喜歡CR)。

嘗試從命令中刪除“ \\ r”: command = command.translate(None, "\\r")

我還敦促您仔細考慮運行通過電子郵件傳遞的任何命令所帶來的安全隱患。 可能有更安全的方法來完成您要完成的任務。

暫無
暫無

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

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