'daki dizelerin bir listesi üzerinden nasıl döngü yapılır Python'da biraz yeniyim ve varolan kodumu basitleştirmeye çalışıyorum. Şu anda kod farklı dizelerle 5 kez tekrarlıyorum. Kodu bir kez almayı ve dizeler listesiyle çalışmayı istiyorum.Python
ben Şu neyi:
ORG = ['Address:', 'ESSID:'...etc]
NEW = ['\nAddress, ' , '\nESSID, ' , ... etc]
ve onun vasıtasıyla çalıştırın:: İsterdim Ne
def wiScanFormat():
File = open("/home/pi/gpsMaster/WiScan.txt", "r")
data = File.read()
File.close()
MAC = data.replace("Address:", "\nAddress, ")
File = open("/home/pi/gpsMaster/WiScan.txt", "w")
File.write(MAC)
File.close()
File = open("/home/pi/gpsMaster/WiScan.txt", "r")
data = File.read()
File.close()
SSID = data.replace("ESSID:", "\nESSID, ")
File = open("/home/pi/gpsMaster/WiScan.txt", "w")
File.write(SSID)
File.close()
File = open("/home/pi/gpsMaster/WiScan.txt", "r")
data = File.read()
File.close()
FREQ = data.replace("Frequency:", "\nFrequency, ")
File = open("/home/pi/gpsMaster/WiScan.txt", "w")
File.write(FREQ)
File.close()
File = open("/home/pi/gpsMaster/WiScan.txt", "r")
data = File.read()
File.close()
QUAL = data.replace("Quality", "\nQuality, ")
File = open("/home/pi/gpsMaster/WiScan.txt", "w")
File.write(QUAL)
File.close()
File = open("/home/pi/gpsMaster/WiScan.txt", "r")
data = File.read()
File.close()
SIG = data.replace("Signal level", "\nSignal Level, ")
File = open("/home/pi/gpsMaster/WiScan.txt", "w")
File.write(SIG)
File.close()
olması
File = open("/home/pi/gpsMaster/WiScan.txt", "r")
data = File.read()
File.close()
ID = data.replace("ORG", "NEW")
File = open("/home/pi/gpsMaster/WiScan.txt", "w")
File.write(ID)
File.close()
Koşuyorum denedim tam olarak ne Ben koydum ama ihtiyacım olan şekilde biçimlendirmiyor.
yukarıdan çıktı benziyor:
Cell 46 - Address: xx:xx:xx:xx:xx:xx ESSID:"MySSID" Frequency:2.412 GHz (Channel 1) Quality=47/100 Signal level=48/100 Quality=47/100 Signal level=48/100
Ama bu gibi bakmak gerekiyordu (Ve o dizeleri boyunca aynı blok ayrı ayrı çalıştırdığınızda öyle) olduğu:
xx:xx:xx:xx:xx:xx MySSID 5.18 GHz (Channel 36) 0.81 0.99
nasıl Bu kod bloğunu dizeler listemde dolaşmalı mıyım? Eski ve yeni, bulmak ve değiştirmek için ihtiyacım olacak iki dizi var, bu yüzden birlikte çalışmak zorunda kalacaklar. Bu listeler aynı boyutta olacak, açıkçası ve doğru sırada olmalarına ihtiyacım var. Adresle adres, ESSID ile ESSID, vb.
Şimdiden teşekkürler!
Eğer gerçekten üzerinde farklı düzenlemelerin bir diziyi gerçekleştirmek için aynı dosyayı beş kez açılış Are, ya da yanlış anladım mı? – khelwood
@khelwood Evet, şu anda yaşıyorum. Bu konuda gitmek için en etkili yolun farkında olduğumun farkındayım bu yüzden diğer seçenekleri araştırıyorum bu yüzden düzenleme: aslında, 10 kez açık olmak. Okuyucular için 5, 5 yazım için – sjo91190
1. 'replace' sadece doğru hatırlamıyorsam ilk maçı değiştirir. Bunun yerine [re.sub] (https://docs.python.org/2/library/re.html#re.sub) kullanın. 2.'ile açık ("..") kullanın f: # f = open ("..") 've' f.close' yerine bir şey yapın. 3. biçimlendirilmiş örnek verilerinizi gönderin! – knh170