2016-03-20 15 views
1

Bir değişkende bu BASH komut sonucu depolamak çalışıyorum:Bu bash komutundan sonra yaratılan yeni çizgiden nasıl kurtulabilirim?

localip = subprocess.check_output(["ifconfig | grep 'inet addr' | cut -d ':' -f2 | grep 'Bcast' | cut -d ' ' -f1"], shell=True) 

ama yerel ip yazdırmak eğer her zaman yeni bir çizgi var:

[email protected]:~/Documents $ python change.py 
192.168.1.6 

[email protected]:~/Documents $ 

tabii değildir böyle, bu yüzden denedim bir şey gerekenler:

localip[0].replace("\n", "") 

veya basitçe

localip.replace("\n", "") 

ama yine de iyi değil .... yeni oluşturulan çizgiden kurtulmayı bilen var mı? Teşekkürler!

cevap

1

Aslında localip'u yazdıran bir kod göndermediniz, ancak olası bir neden str.replace dönüş değerini yazdırmamanızdır. str.replace, varolan dizeyi değiştirmez, ancak bunun yerine yeni bir kopyasını döndürür. sonunda bir tr -d '\n' boru

localip = subprocess.check_output(["ifconfig | grep 'inet addr' | cut -d ':' -f2 | grep 'Bcast' | cut -d ' ' -f1 | tr -d '\n'"], shell=True) 

: Yani o anlamda çözüldü arada

İlgili konular