2012-08-29 160 views
0

我需要一些文本添加到文档这样一个txt的每一行:前缀和后缀来使用python

原始文件:

C:\listagem.txt 

i love python 
macdonals hamburger 
yolo 4ever 

我需要添加一个后缀,前缀,所以结果看起来像这样:

teste.txt 

blablablai love pythongugugugugu 
blablablamacdonalds hamburgergugugugugu 
blablablayolo 4evergugugugugu 

我已经试过这个算法,但它没有工作。

prefix = 'blablabla' 
suffix = 'gugugugugu' 
dest = '' 
with open('C:\listagem.txt', 'r') as src: 
    with open('teste.txt', 'w') as dest: 
     for line in src: 
      dest.write('%s%s%s\n' % (prefix, line.rstrip('\n'), suffix)) 

我在Windows XP上使用python 3.2.3。

+0

代码失败的原因是什么? – chepner

+0

我测试了你的代码,它适用于我。你必须做别的错误,这不在你的代码中,因为你发布的代码只是做它应该做的事情,尽管'dest ='''是不明智的,应该删除。 – BrtH

+1

脚本是否引发异常? 它是如何失败的? – StoryTeller

回答

1

你的代码主要是文件,但文件名是问题。见this answer on Stackoverflow

更改您的路径,像这样:

with open('C:\\listagem.txt', 'r') as src: 

..或使用raw strings

with open(r'C:\listagem.txt', 'r') as src: # r'raw string' ignores backslashes 

..或者你可以也许只是用斜杠 - 如果这个工程,我建议它(因为反斜杠是一种痛苦):

with open('C:/listagem.txt', 'r') as src: 

另请注意,您的示例输入文件显示为cont ain尾随空白。在你提供的数据,有i love python后两个空格,这样你的输出看起来像这样:

{prefix}i love python {suffix} 

这可能是你的问题#1被引入,而不是原来的文件。

+0

这两个文件都打开,真正的问题是,我不能得到我的输出在teste.txt作为应该 – user1634295

+0

@ user1634295哦,你会得到什么输出'teste.txt'?没有? – dbr

+0

伙计们!它现在的作品! – user1634295