2013-06-26 21 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) 
相关问题