【发布时间】:2013-10-27 21:26:24
【问题描述】:
我需要连接两个文件,一个包含一个数字,另一个包含至少两行数据。我试过 shutil.copyfile(file2,file1) 和 subprocess.call("cat " + file2 + " >> " + file1, shell=True) ,两者都给了我相同的结果。具有单个数字的文件包含一个整数和一个换行符(即两个字符),因此当我将两个文件放在一起时,file2 的前两个字符将被覆盖,而不是仅添加到末尾。如果我使用“cat file2 >> file1”通过 shell 执行此操作,则不会发生这种情况,并且效果很好。
这就是我的意思:
import numpy as np
from subprocess import call
f.open(file1)
f.write('2\n')
np.savetxt(file2,datafile,fmt)
call("cat " + file2 " >> " + file1, shell=True)
所以不是得到:
2
data data data ...
data data data ...
我明白了:
2
ta data data ...
data data data ...
我不知道是什么导致了这个问题,但这很令人沮丧。有什么建议吗?
【问题讨论】:
-
您是否尝试过
file1在a模式下简单地将file2写入file1?
标签: python shell subprocess cat shutil