我正在嘗試遍歷我創建的輸出檔案中的行,如下所示:
2020-03-19, 22.0
2020-03-20, 6.0
2020-03-21, 5.0
然后使用第二列中的數字創建并列印一個串列。
這只是我的主要功能和我遇到問題的功能:
def main():
for file in FILE_PATH_INPUT:
fWriteOutputFile(file)
print(fReadOutputFile(FILE_PATH_OUTPUT))
```
def fReadInputFile(pFile):
casesList = []
with open(pFile, 'r') as fi:
lines = fi.readlines()
for line in lines:
line = line.rstrip().split(',')
casesList.append(str(line[1]))
return casesList
```
**What I'm expecting:
[66, 6, 5]
what I'm getting:
casesList.append(str(line[1]))
IndexError: list index out of range**
uj5u.com熱心網友回復:
問題出在這段代碼中:
line = line.rstrip().split(',')
caseslist = str(line[1]) ','
casesList.append(caseslist)
在第二行中,'line' 仍然包含文本(它是一個字串),您必須轉換為整數。
正確的做法是:
line = line.rstrip().split(',')
casesList.append( int( line[1])
此外,“file.close()”位于“return”之后。所以“關閉”永遠不會被執行。
uj5u.com熱心網友回復:
如果您只想列印串列,則不需要手動添加“,”到每個元素。相反,您可以通過以下方式撰寫 fReadOutputFile:
def fReadOutputFile(pFile):
casesList = []
with open(pFile, 'r') as fi:
lines = fi.readlines()
for line in lines:
line = line.rstrip().split(',')
casesList.append(str(line[1]))
return casesList
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/529029.html
