2013-06-26 22 views
-2

我有一個文本文檔,我試圖找到返回並用逗號替換它們。我不斷收到一個語法錯誤,最後的打印功能突出顯示,但我不知道發生了什麼問題。剝離返回並用逗號替換它們用Python

orders = [] 
try: 
    with open('vlc.txt') as data: 
     for each_line in data: 
      try: 
       each_line.replace("/n", ",") 
       order = order.strip() 
       orders.append(order) 

      except ValueError: 
       pass 
with open("vlc_clean.txt","wb") as vlc_file: 
    pickle.dump(orders, vlc_file) 

except IOError as err: 
    print('File Error: ' + str(err)) 

except pickle.PickleError as perr: 
    print('Pickling error: ' + str(perr) 

print(orders) 
+4

也許你要替換「\ n」「使用」,而不是‘/ N’ – pkacprzak

+1

的代碼是不縮進正確。首先閱讀一些python教程。 – simonzack

+3

字符串是不可變的。 '.replace()'返回一個你默默忽略的新字符串。你不能取代現場的東西。 – geoffspear

回答

5

字符串是Python中不變的,所以你必須在replace操作的返回值賦值給一些變量:

order = each_line.replace("\n", ",").strip() #use '\n' not '/n' 

此行缺少結束),這就是爲什麼你得到SyntaxError

except pickle.PickleError as perr: 
    print('Pickling error: ' + str(perr)) 
             ^
             | 
            missing 
0

正如我在評論中寫道以上,你應該使用「\ n」作爲新行字符,並支付衡量某人離子到你的變量。

這裏是工作的代碼(我忽略了保存爲泡菜):

orders = [] 
try: 
    with open('vlc.txt') as data: 
     for each_line in data: 
      try: 
       order = each_line.replace("\n", ",").strip() 
       orders.append(order) 

      except ValueError: 
       pass 
except: 
    pass 

print(orders) 
相關問題