我正在尝试编写一个函数,我将内容写入文本文件,然后将另一个文本文件的内容全部复制到同一行。然后我下次运行这个函数时,我希望它保持内容只创建一个新行,然后填充该行。
到目前为止我已经
了# \rApples: 1\rBananas: 1\rPineapples: 1\r\r
当我运行它时,它给了我一个
def write_to_new():
report = 'original.txt'
now = datetime.datetime.now()
new_file = open('refresh.txt', 'a')
new_file.write('Year: %s' % now.year+', ' + 'Month: %s' % now.month+', ' + 'Day: %s' % now.day+', ')
new_file.write(shutil.copy(report,'refresh.txt'))
答案 0 :(得分:2)
shutil
存在几个问题:
shutil.copy()
不会返回任何内容 - 错误的原因(在Py3中它返回创建的文件的名称)shutil.copy()
使用底层shell将文件复制到新文件,并且不会将该文件的内容带入python 只需打开original.txt
并阅读内容并将其写出来:
def write_to_new():
with open('original.txt') as report, open('refrest.txt', 'a') as new_file:
now = datetime.datetime.now()
new_file.write('Year: {now.year}, '
'Month: {now.month}, '
'Day: {now.day}, {original}'
.format(now=now, original=report.read()))
答案 1 :(得分:0)
你做不到:
new_file.write(shutil.copy(report,'refresh.txt'))
new_file.write
需要一个字符串参数。
答案 2 :(得分:0)
在将内容写入new_file之前,您必须将复制的内容转换为字符串类型。
new_file.write(STR(shutil.copy(报告,' refresh.txt')))
希望它能够工作