2015-11-02 63 views
0

我有一个文本文件IDlistfix,其中包含一个youtube视频ID列表。我正在尝试制作一个新的文本文件,newlist.txt,这是第一个带有撇号的视频中的ID以及ID之间的逗号。这是我写来实现:找不到功能出错的地方

n = open('IDlistfix','r+') 
j = open('newlist.txt','w') 
line = n.readline() 

def listify(rd): 
    return '\'' + rd + '\',' 

for line in n: 
    j.write(listify(line)) 

这让我的','rUfg2SLliTQ的输出,我所期待的输出为'rUfg2SLliTQ',。我的功能在哪里出错?

+0

尝试'rd.strip()'' – postelrich

+0

rd.strip()'将摆脱换行符。 – Zizouz212

回答

1

你一定要剥去它的换行:

j.write(listify(line.strip())) # Notice the call of the .strip() method on the String 
1

尝试删除结尾的空白,并返回一个格式化字符串:

n = open('IDlistfix','r+') 
j = open('newlist.txt','w') 
line = n.readline() 

def listify(rd): 
    # remove trailing whitespace 
    rd = rd.rstrip() 
    # return a formatted string 
    # this is generally preferable to '+' 
    return "'{0}',".format(rd) 

for line in n: 
    j.write(listify(line)) 
1

的问题必须是,

`return '\'' + rd + '\`',' 

,因为RD为经 '/ N' 结尾。 从rd中删除'/ n',它应该没问题

1

是行更改问题。

变化:

for line in n: 
     j.write(listify(line.replace('\n','')))