我正在寻找翻译 unix-command
$ cat filename.* > Datei
进入 Python 程序。有人可以帮忙吗?
这样的事情应该让你开始:
import glob
outfile = file("Datei", "wb")
for f in glob.glob("filename.*"):
infile = open(f, "rb")
outfile.write(infile.read())
infile.close()
outfile.close()
更新:当然,输入文件也需要打开。
更新:明确使用二进制模式。
import glob
output = open('Datei', 'wb')
chunk_size = 8192
for filename in glob.glob('filename.*'):
input = open(filename, 'rb')
buffer = input.read(chunk_size)
while buffer: # False if buffer == ""
output.write(buffer)
buffer = input.read(chunk_size)
input.close()
output.close()
谢谢您的帮助。我现在的脚本:
LOGFILEDIR="/olatfile/logs"
VORMONAT=time.strftime("%Y-%m", time.localtime(time.time()-3600*24*30))
LOGDATEIEN=LOGFILEDIR+"/olat.log."+VORMONAT +"-*"
print LOGDATEIEN
OUTPUT=LOGFILEDIR+"/olat.log."+VORMONAT
LOGFILE=OUTPUT
output = open(OUTPUT, 'wb')
chunk_size = 8096
for filename in glob.glob(LOGDATEIEN):
input = open(filename, 'rb')
buffer = input.read(chunk_size)
while len(buffer) > 0:
output.write(buffer)
buffer = input.read(chunk_size)
input.close()
output.close()
一个应用程序每天都会创建一个像“olat.log.07-12-2009”这样的日志文件我的想法是将所有日志从一只蛾子集中到一个日志文件中并分析这个日志文件。
或者
import os
f=open("outfile.txt","a")
for file in os.listdir("."):
if file.startswith("filename."):
for line in open(file):
f.write(line)
f.close()