2016-09-24 22 views
0

我想用Watson Alchemy API分析哲學和經典文本,我在從我的計算機上的.txt文件讀取文本到python變量時遇到問題。任意沒有讀入緩衝區的文本

下面是代碼:

from __future__ import print_function 
from alchemyapi import AlchemyAPI 
import argparse 
import json 



def conceptual(fileName): 
    path = "/Users/myname/Desktop/texts/" 

    name = path + fileName 

    with open(name, 'r') as myfile: 
     data=myfile.read().replace('\n', ' ') 

    if data != None: 
    print(data) 


def main(): 
    parser = argparse.ArgumentParser() 
    parser.add_argument('--concepts', dest = 'conceptFile', required = False) 

    args = parser.parse_args() 

    if args.conceptFile: 
     conceptual(args.conceptFile) 
    else: 
     print('Use CL args.') 

main() 

的問題是,對於某些文本正常工作:整個.txt文件打印輸出到終端窗口。對於其他人來說它打印這樣的事情(爲所有工作不輸出的文件非常相似,這一點):

.      THE ENDy mountains. glowing and strong, like a 

特定的文件(Zarauthstra_Nietzsche.txt)的結尾是

Thus spake Zarathustra and left his cave, glowing and strong, like a 
morning sun coming out of gloomy mountains. 


        THE END 

但該文件的其餘部分不打印。

我一直在修改各種差異,在這裏和那裏調整它,但對那些不工作的唯一共同線程似乎是我從不同的網站(http://philosophy.eserver.org/texts.htm而不是Project Gutenberg)下載它們。我試過改變文件的路徑,內容,權限和文件名。有任何想法嗎?

+0

數據不可能是無所以不知道你是用'如果數據=無干什麼!'還有什麼是功能?你的縮進或邏輯似乎關閉 –

+0

好吧,我想那裏我只是安全。這應該不會對輸出產生任何影響。也只是更新的縮進 – cb3k

+0

除非你以某種方式有回車在那裏它應該工作正常,什麼是重現錯誤的文件的名稱? –

回答

1

發現文件中的\ r字符有點搞砸了。

改變了這一行:data=myfile.read().replace('\n', ' ')data=myfile.read().replace('\n', ' ').replace('\r', ' ')