[問題] 一行code in O'Reilly 深入淺出
各位大大好,小弟最近才剛接觸python
在O'Reilly的python 深入淺出的例外,額外處理的章節中,
他給了一段solution
=================================
data.open('sketch.txt')
for each_line in data:
if not each_line.find(':') == -1:
(role, line_spoken) = each_line.split(':',1)
print(role, end='')
print('said', end='')
print(line_spoken, end='')
data.close()
=================================
原本是沒有加上if statement,但會碰上ValueError: not enough values to unpack
sketch.txt裡面有一行剛好有2個以上的「:」,
小弟不懂得也是這個if statement
為什麼加上這個if 就可以解決ValueError的問題?
這if的意思不是:
如果沒有在each_line中找不到':'的話,就繼續下面的code,
也就代表找到':',就會執行接下來的assign 跟 split?
這樣還是會碰到not enough values不是嗎?
這是我的疑問
先謝謝各位
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 119.14.67.30
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1456155621.A.B5E.html
推
02/22 23:57, , 1F
02/22 23:57, 1F
→
02/22 23:57, , 2F
02/22 23:57, 2F
→
02/22 23:58, , 3F
02/22 23:58, 3F
→
02/22 23:58, , 4F
02/22 23:58, 4F
→
02/22 23:59, , 5F
02/22 23:59, 5F
→
02/22 23:59, , 6F
02/22 23:59, 6F
→
02/22 23:59, , 7F
02/22 23:59, 7F
→
02/23 00:00, , 8F
02/23 00:00, 8F
→
02/23 00:00, , 9F
02/23 00:00, 9F
剛剛有大大提醒是not enough value,抱歉我打錯了,
A大你好如果是這個錯誤訊息,我是碰到可能裡面有一行是沒有:的情形嗎?
※ 編輯: ray60110 (42.73.196.202), 02/23/2016 11:21:36
※ 編輯: ray60110 (42.73.196.202), 02/23/2016 11:47:47
→
02/23 13:44, , 10F
02/23 13:44, 10F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):
Python 近期熱門文章
PTT數位生活區 即時熱門文章