我正在創建一個電子郵件響應過夜構建,我想從結果文件中獲取最後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