我剪下了我試圖完成的腳本的一部分。我期待在每次迭代後得到mylineS.split()[0]
的新結果。對於每次迭代,outS.txt
和outT.txt
是commandC
的結果,並且在每次迭代中結果是不同的。但mylineS.split()[0]
爲每次迭代帶來第一個結果。與while循環中的open語句有什麼不對嗎
我想我的方法有什麼問題,有什麼想法?
B = 0
while B < len(Source_Tdevs):
devS = Source_Tdevs[B]
devT = Target_Tdevs[B]
subprocess.run(commandC, shell=True)
print (devS)
with open('outS.txt', 'r') as gS:
CS = len(gS.readlines())
mylineS = linecache.getline('outS.txt', CS -1)
Source_Tdevs_SGs.append(mylineS.split()[0])
**print (mylineS.split()[0])**
gS.close()
with open('outT.txt', 'r') as gT:
CT = len(gT.readlines())
mylineT = linecache.getline('outT.txt', CT - 1)
Target_Tdevs_SGs.append(mylineT.split()[0])
gT.close()
subprocess.run('del outS.txt, outT.txt', shell=True)
B= B + 1
commandC是subprocess.run(commandC, shell=True)
之上的一行。我正在寫作底部。
commandC = 'set "SYMCLI_OFFLINE=1" & set "SYMCLI_DB_FILE=C:\PROGRAM FILES\EMC\SYMAPI\DB\SYMAPI_DB.BIN" & call symaccess -sid %s list -type storage -dev %s > outS.txt & call symaccess -sid %s list -type storage -dev %s > outT.txt' % (
sid, devS, sid, devT)
你並不需要關閉文件時,您用開放使用()。 –