2017-01-10 186 views
-1

創建列表,我有以下代碼:通過導入.txt文件

myList = {"later", "test"} 
aList = []; 
tagCount = {} 

f = ["This is a test", "Call me later"] 

for line in f: 
#Get a separate line 
    fields = line.split(' ') 
    for word in fields: 
     if word in myList: 
      print(word) 

它基本上是檢查陣列中的一個字一個字是否是否一個詞對應於標記列表的話。它工作正常。不過,我想用我從.txt文件得到的值替換myList列表。所以我這樣做:

with open('taglist.txt') as f: 
    myList = [line.rstrip('\n') for line in f] 
    myList = set(myList) 

aList = []; 
tagCount = {} 

f = ["This is a test", "Call me later"] 

for line in f: 
#Get a separate line 
fields = line.split(' ') 
    for word in fields: 
    if word in myList: 
    print(word) 

但現在它似乎並沒有工作。我認爲導入列表出了問題。對這裏出了什麼問題有任何想法?

+1

'[line.rstrip( '\ n')在f.readlines線( )]' – MMF

+0

@MMF'.readlines'是不必要的。 @Frits Verstraten究竟「似乎沒有工作」? – laike9m

+1

我希望你沒有那個縮進,因爲它是不正確的 –

回答

1

您的代碼工作對我來說,一旦我重新縮進它:

with open('taglist.txt') as tl: 
    myList = [line.rstrip('\n') for line in tl] 
    myList = set(myList) 

aList = []; 
tagCount = {} 

f = ["This is a test", "Call me later"] 

for line in f: 
#Get a separate line 
    fields = line.split(' ') 
    for word in fields: 
    if word in myList: 
     print(word) 

taglist.txt

later 
test 
+0

是的,但你在第9行後面聲明f。 f = [「這是一個測試」,「稍後給我打電話」]。當評論出來時它是否也有效? –

+0

對不起,當f註釋失敗時 – CoderMike

+0

這是正確的 - 你通過重新使用f而使代碼混淆,但它確實起作用 – CoderMike