arkadaşlar bir fonksiyon yazdım bu fonksiyon da sistem ıpv4 adresi ve ıpv6 adresi alıyor şöyle
def ipadress(version):
import os
os.chdir(‘c:/Doc’)
os.system(“ipconfig /all > c:/Doc/ipconfig.txt”)
with open(“ipconfig.txt”, ‘rb’) as dosya:
lines = [l.decode(‘utf8’, ‘ignore’) for l in dosya.readlines()]
if version == “4”:
ıpv4 = lines[18]
return ıpv4
if version == “6”:
ıpv6 = lines[17]
return ıpv6
ancak bazı bilgileri atıyor mesela 255 ise 55 veriyor ignore yapmadığım zaman da dönüştürmüyor hata veriyor ne yapabilirim
Şu kod işe yarayacaktır :
import socket
socket.gethostbyname('google.com')
Kaynak : https://stackoverflow.com/questions/8370361/get-ip-address-of-url-in-python
import socket
print(socket.gethostbyname(socket.gethostname()))
bu kod ile de ekrana kendi ip adresinizi çıktı olarak verebilirsiniz.
ancak bu sadece ip adresi veriyor anlayacağınız üzere ıpconfig /all komutu sayesin de ben bir çok bilgi elde ediyorum
Adım 1 : cmd’yi çalıştırın
Adım 2 : pip install ifcfg
kodunu yazın.İndirmenin tamamlanmasını bekleyin.
Adım 3 : Python dosyanıza şu kodları ekleyin :
import ifcfg
import json
for name, interface in ifcfg.interfaces().items():
print (interface['device'])
print (interface['inet'])
print (interface['inet4'])
print (interface['inet6'])
print (interface['netmask'])
Kaynak : ifcfg · PyPI
Text dosyasini binary olarak acinca okumalar bytes
donduruyor, decode etmek gerekiyor.
Text olarak ac, veya daha iyisi komutu popen
ile acip ciktisini direkt al.
Edit:
Bi de Windows’ta open
bile sorunlu, bir yerlerde encoding filan belirtmek gerekiyordu diye hatirliyorum.
O zaman
with open(“ipconfig.txt”, ‘r’, encoding = "utf-8") as dosya
Düzeltilmiş halidir.
şeklinde mi olacak?
evet sayın @aib in dediği gibi encoding = "utf-8"
kısmını doğru yaptınız ama "rb"
yani read-byte olarak dosyayı okuduğunuz için encoding hatası vericektir(hala byte olarak actığınız için). onun yerine "r"
(read) kullanmanız yeteli (byte yerine string acmış olursunuz).
Teşekkür ederim Zaten rbnin ne olduğunu bilmiyordum.Düzelttim.
Eğer isterseniz dosya açma kipleri hakkında daha detaylı bilgiler mevcut
Tamam problemi çözdüm ben den kaynaklı bir hata imiş
utf-8 de sıkıntı yok