是否有一種方式來獲得從Python中的多行字符串指定行?例如:
>>> someString = 'Hello\nthere\npeople\nof\nEarth'
>>> aNewString = someString.line(1)
>>> print aNewString
there
我想作一個簡單的「解釋」的風格腳本,通過它美聯儲的文件的每一行循環。
是否有一種方式來獲得從Python中的多行字符串指定行?例如:
>>> someString = 'Hello\nthere\npeople\nof\nEarth'
>>> aNewString = someString.line(1)
>>> print aNewString
there
我想作一個簡單的「解釋」的風格腳本,通過它美聯儲的文件的每一行循環。
>>> someString = 'Hello\nthere\npeople\nof\nEarth'
>>> someList = someString.splitlines()
>>> aNewString = someList[1]
>>> print aNewString
there
很酷。我很尷尬地說我不知道'splitlines'。謝謝。 –
@JohnVinyard:那麼我猜你從來沒有在Unix上編寫代碼,然後不得不處理來自Windows用戶的錯誤?我首先在編寫代碼的時候發現它,如果存在的話,從每行的末尾刪除一個''\ r''然後編碼來處理一個罕見的情況,即在一行中有一個真正的'\ r'一個Unix文本文件...和... – abarnert
In [109]: someString = 'Hello\nthere\npeople\nof\nEarth'
In [110]: someString.split("\n")[1]
Out[110]: 'there'
In [111]: lines=someString.split("\n")
In [112]: lines
Out[112]: ['Hello', 'there', 'people', 'of', 'Earth']
請記住,我們可以split
串形成lists。在這種情況下,要使用換行符\n
作爲分隔符來分割,所以是這樣的:
someString = 'Hello\nthere\npeople\nof\nEarth'
print someString.split('\n')[lineindex]
還有使用通用換行符作爲分隔符一個splitlines
功能:
someString = 'Hello\nthere\npeople\nof\nEarth'
print someString.splitlines()[lineindex]
斯普利特上換行符的字符串:
>>> someString = 'Hello\nthere\npeople\nof\nEarth'
>>> someString.split('\n')
['Hello', 'there', 'people', 'of', 'Earth']
>>> someString.split('\n')[1]
'there'
['str.split'](http://docs.python.org/library/stdtypes.html#str.split)和/或['str.splitlines']( http://docs.python.org/library/stdtype s.html#str.splitlines) –
其實,如果你想做一個簡單的解釋器,你可能不希望首先得到一個充滿換行符的字符串。而不是'script = scriptfile.read(); ...;對於line in line:'只要在scriptfile:'中執行line就行了。 – abarnert