我正在创建一个电子邮件响应过夜构建,我想从结果文件中获取最后50行并将其放入摘要文件中。我所做的代码如下,任何人都可以帮忙吗?如何将最后50行从一个文件写入另一个文件Python
def email_success():
fp = open(results_file, 'r')
sum_file = (fp.readlines()[-50:])
fp.close()
myfile = open(result_summary,'w')
myfile.write(sum_file)
myfile.close()
我有尝试此代码时,下面的错误消息:
Traceback (most recent call last):
File "email_success.py", line 76, in <module>
if __name__ == '__main__': myObject = email_success()
File "email_success.py", line 45, in email_success
myfile = open(result_summary,'w')
TypeError: coercing to Unicode: need string or buffer, tuple found
感谢
结果总结是存储地址的变量。
result_summary = (t, 'results_summary.txt')
对不起犯了一个愚蠢的错误,我忘了补充os.path.join
result_summary = os.path.join(t, 'results_summary.txt')
感谢您的帮助
@alok这是一个目录地址,我忘了加上os.join使它成为一个字符串。这是什么导致错误
你使用python 3吗? – Pod 2010-01-06 10:07:27
用'writelines'代替'write',并且除去'readlines()'调用周围的'()'。 – 2010-01-06 10:07:34
@chris:你认为'开'((t,'results_summary.txt'),'w')'是什么意思? – 2010-01-06 10:19:43