您可以定義自己的分隔符的分裂你的字符串(或文件行)與模塊re
https://docs.python.org/3/library/re.html。使用with open()
表示在代碼中的with open()
縮進結束後文件鏈接關閉。
我用list comprehension
這裏,因爲它比一個for循環略快於構造列表
import re
def return_lines_split_by_choice(delimiters,path):
re_pattern = '|'.join(map(re.escape,delimiters))
with open(path) as file_handle:
return [re.split(re_pattern,line.rstrip()) for line in file_handle]
my_list_of_lists = return_lines_split_by_choice((" ",","),my_filepath)
只要把你的分隔符,或事物的選擇,在這裏(" ",",")
結果是將行拆分:
for sublist in my_list_of_lists:
print (sublist)
['1.', '27.01.1957', '8', '12', '31', '39', '43', '45']
['2.', '03.02.1957', '5', '10', '11', '22', '25', '27']
['3.', '10.02.1957', '18', '19', '20', '26', '45', '49']
['4.', '17.02.1957', '2', '11', '14', '37', '40', '45']
['5.', '24.02.1957', '8', '10', '15', '35', '39', '49']
['6.', '03.03.1957', '24', '26', '31', '35', '43', '47']
['7.', '10.03.1957', '13', '20', '23', '29', '38', '44']
如果你只是想行的列表使用這個功能來代替:
def list_of_lines(path):
with open(path) as file_handle:
return [line.rstrip() for line in file_handle]
這樣,只要運行它:
my_list_of_lists = list_of_lines(my_filepath)
如果你的Python程序在同一文件夾中的TXT文件,然後你的文件路徑可以只是像這樣"mytxt.txt"
否則你可以使用的文件名os
模塊爲您的操作系統規範化一個文件路徑
list的列表需要什麼形式?每行三個元素?更多?減?您提供的輸入可以有效地產生許多不同的輸出。 – ShadowRanger