我對Python有點新,我試圖簡化我現有的代碼。 現在,我用不同的字符串重複5次代碼。我想讓代碼有一次,並讓它通過一個字符串列表。如何遍歷Python中的字符串列表
目前我有:
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()
我想什麼有:
ORG = ['Address:', 'ESSID:'...etc]
NEW = ['\nAddress, ' , '\nESSID, ' , ... etc]
和運行,通過:
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()
我試着運行什麼我忍了,但它似乎沒有按照我需要的方式進行格式化。
從上面的輸出是這樣的:
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
但它應該是這個樣子(當我運行中的字符串相同的塊分開它):
xx:xx:xx:xx:xx:xx MySSID 5.18 GHz (Channel 36) 0.81 0.99
如何我應該通過我的字符串列表來循環這段代碼嗎? 有兩個字符串,我需要找到和替換,新老,所以他們將不得不一起工作。這些列表顯然是相同的,我需要它們按正確的順序排列。具有地址的地址,具有ESSID的ESSID等。
在此先感謝!
你真正打開同一文件五次就可以執行不同的編輯序列,或者我誤解了? – khelwood
@khelwood是的,目前我在。我知道這不是最有效的方式去這個,這就是爲什麼我正在探索其他選項 編輯:實際上,它正在開放10倍。 5表示讀取,5表示寫入 – sjo91190
1.如果我沒有記錯,'replace'只替換第一個匹配項。改用[re.sub](https://docs.python.org/2/library/re.html#re.sub)。 2。使用'with open(「..」)作爲f:#做某事而不是'f = open(「..」)''和'f.close'。 3.發佈格式化的示例數據! – knh170