Python新手。 使用此代碼Python只打印第一行
#!/usr/bin/env python2
with open('/tmp/cadrootcomp1.firstwords',mode="rb") as f:
print '/'.join(f.read().split('/')[:2]) + '/'
獲取輸出: ABC/DEF/
當原線爲ABC/DEF/GHI
所以這個工作得很好。需要此腳本在文件的其他行上運行。它只處理第一行。
Python新手。 使用此代碼Python只打印第一行
#!/usr/bin/env python2
with open('/tmp/cadrootcomp1.firstwords',mode="rb") as f:
print '/'.join(f.read().split('/')[:2]) + '/'
獲取輸出: ABC/DEF/
當原線爲ABC/DEF/GHI
所以這個工作得很好。需要此腳本在文件的其他行上運行。它只處理第一行。
您正在尋找這樣的事情:
#!/usr/bin/env python2
with open('/tmp/cadrootcomp1.firstwords',mode="rb") as f:
for line in f:
print '/'.join(line.split('/')[:2]) + '/'
作品。謝謝! – Glad
不知道我理解正確的話你正在嘗試做的。如果您嘗試遍歷文件中的行,請嘗試此操作。
with open('/tmp/cadrootcomp1.firstwords',mode="rb") as lines: for line in lines: print '/'.join(line.split('/')[:2]) + '/'
作品。謝謝! – Glad
我覺得下面一個更好。我猜你正在使用切片file.read()
後刪除\n
。一個更好的辦法來做到這一點是使用strip()
這樣的:
f.read().strip()
你甚至都不需要,閱讀一行行的時候。
with open('/tmp/cadrootcomp1.firstwords',mode="rb") as f:
for line in f:
print line.rsplit('/',1)[0] + '/'
你需要使用一個循環讀取所有行。 'f.read()'一次讀取 –
新的Python一行。你能說明這個循環是如何工作的嗎? – Glad