簡體   English   中英

如何在文件路徑中調用變量並在python 2.7中打印輸出

[英]How to call a Variable into file-path and print the output in python 2.7

我正在嘗試將變量調用到文件路徑中,但是我無法獲取它。

文件路徑的平均值為“ /sys/class/net/bond0/speed ”,其中“ bond0 ”是動態的。

在下面的代碼中, Current_inf生成的值如“ bond0 ”等可更改。

>>> import subprocess
>>> import netifaces
>>> import socket
>>> import re

>>> Current_inf = netifaces.gateways()['default'][netifaces.AF_INET][1]
>>> print Current_inf
bond0.180
>>> subprocess.Popen(str['/sys/class/net/%s%s'(Current_inf)/speed])

下面是我想通過python實現的shell命令

# cat /sys/class/net/bond0/speed
2000

任何幫助或建議將不勝感激。

首先,你不需要Popen ,你需要check_output直接得到結果。

其次,您嘗試轉換為strlist (不確定,因為str[...]語法無效)。 下降str

第三,這不是使用%格式化字符串的方式(也可以使用str.format ,這甚至更好)

我的建議:

speed = subprocess.check_output('/sys/class/net/%s/speed' % (Current_inf)).rstrip()

成功執行后, speed保持返回值減去尾隨換行符(感謝rstrip()

這是我最初的問題的解決方案:

subprocess.check_output(['cat', '/sys/class/net/{}/speed'.format(Current_inf)])

要么

open('/sys/class/net/{}/speed' .format(Current_inf)).read().strip()

暫無
暫無

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

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