Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python文件写入然后追加_Python - Fatal编程技术网

python文件写入然后追加

python文件写入然后追加,python,Python,我试图写一个函数,我把内容写到一个文本文件,然后把另一个文本文件的内容复制到同一行。下一次我运行这个函数时,我希望它只保留内容,创建一个新行,然后填充该行 到目前为止我有 def write_to_new(): report = 'original.txt' now = datetime.datetime.now() new_file = open('refresh.txt', 'a') new_file.write('Year: %s' % now.year+'

我试图写一个函数,我把内容写到一个文本文件,然后把另一个文本文件的内容复制到同一行。下一次我运行这个函数时,我希望它只保留内容,创建一个新行,然后填充该行

到目前为止我有

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'))
当我运行它时,它会给我一个

TypeError: expected a character buffer object
你不能这样做:

new_file.write(shutil.copy(report,'refresh.txt'))

new\u file.write需要一个字符串参数。

在将内容写入新的\u文件之前,必须将复制的内容转换为字符串类型

新建文件.writestrutil.copyreport,'refresh.txt'


希望它能起作用

shutil有几个问题:

Py2中的shutil.copy不返回任何内容—Py3中错误的原因—它返回所创建文件的名称 copy使用底层shell将文件复制到新文件中,并且不会将该文件的内容带入python 只需打开origing.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()))