python写入不同的文件

时间:2015-10-07 05:36:18

标签: python

我是一个巨大的蟒蛇菜鸟。试图编写一个简单的脚本,将文件中的一行分开,它会看到"?"

输入文件中的行(inputlog.log): http://website.com/somejunk.jpg?uniqid&=123&an=1234=123

输出文件中的行(outputlog.log): http://website.com/somejunk.jpg uniqid&=123&an=1234=123

这里的目标是最终得到一个包含2列的文件:

这里有我的代码,但它不会写入第二个文件

  

" TypeError:期望一个字符缓冲区对象"

import re

a = raw_input("what file do you want to open? ")
b = raw_input("what is the file you want to save to? ")

with open(a, 'r') as f1:
    with open(b,'w') as f2:
        data = f1.readlines()  
        print "This is the line: ", data #for testing
        for line in data:
            words= re.split("[?](.*)$",line)
            print "Here is the Split: ", words #for testing
            f2.write(words)

f1.close()
f2.close()

1 个答案:

答案 0 :(得分:2)

你的问题是'字样'是一个清单。你不能把它写到你的文件。您需要将其转换回字符串。此外,在将其转换回来时需要注意,以确保在字符串之间创建所需的间距/分割。

你应该做这样的事情。

words = ' '.join(words)

密切关注单引号内的空间。这表明它会在你的字符串之间留一个空格。

最后,您打电话给:

f2.write(words)

进行更改后,我测试了您的代码并成功拆分并按照您的规范将它们写入文件。