第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

帶有以10為底的文件的int()的無效文字

帶有以10為底的文件的int()的無效文字

三國紛爭 2021-03-16 17:13:23
rows = []FILE = open("testing.txt", "r")for blob in FILE: rows.append([int(i) for i in blob.split(" ")])這里testing.txt包含01 23 04   05 6708 09 101112但是,當(dāng)我運行代碼時,出現(xiàn)以下錯誤:ValueError                                Traceback (most recent call last)<ipython-input-1-2086c8bf9ab4> in <module>()      1 rows = []      2 FILE = open("testing.txt", "r")----> 3 for blob in FILE: rows.append([int(i) for i in blob.split(" ")])ValueError: invalid literal for int() with base 10: ''所以我的問題是:int()怎么了?我認為如果參數(shù)是整數(shù)(int(5) == 5例如)是完全可以的。謝謝你。
查看完整描述

3 回答

?
子衿沉夜

TA貢獻1828條經(jīng)驗 獲得超3個贊

如上所述,問題是換行符。

我建議使用split()而不是split(" ")。這會將所有空白視為分隔符,包括換行符。因此,您將避免調(diào)用int()on \n。


查看完整回答
反對 回復(fù) 2021-03-26
?
烙印99

TA貢獻1829條經(jīng)驗 獲得超13個贊

顯然,您的testing.txt最后帶有換行符。添加if列表理解:


for blob in FILE:

    rows.append([int(i) for i in blob.split(" ") if i.isdigit()])


查看完整回答
反對 回復(fù) 2021-03-26
?
元芳怎么了

TA貢獻1798條經(jīng)驗 獲得超7個贊

您可以將所有內(nèi)容都放入可讀的一線代碼中:


with open('testing.txt') as fobj:

    rows = [[int(item) for item in row.split()] for row in fobj if row.strip()]

這樣做with將確保您在離開上下文后(即在確定之后)將關(guān)閉文件。順便說一句,split()無參數(shù)的BTW專門用于拆分文件中找到的行,因為它會拆分所有空白字符:' \t\r\n\v\f'。為了避免空行的空列表,請選中row.strip()true。


查看完整回答
反對 回復(fù) 2021-03-26
  • 3 回答
  • 0 關(guān)注
  • 267 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號