cat filename。*> Datei

时间:2009-11-30 09:29:24

标签: python cat

我正在寻找翻译unix-command

$ cat filename.* > Datei

进入Python程序。有人可以帮忙吗?

4 个答案:

答案 0 :(得分:2)

这样的事情应该让你开始:

import glob

outfile = file("Datei", "wb")
for f in glob.glob("filename.*"):
  infile = open(f, "rb")
  outfile.write(infile.read())
  infile.close()
outfile.close()

更新:当然,也需要打开输入文件。

UPDATE :明确使用二进制模式。

答案 1 :(得分:1)

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()

答案 2 :(得分:0)

替代地

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()

答案 3 :(得分:0)

感谢您的帮助。 我的脚本现在:

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”这样的日志文件 我的想法是将所有日志从一个飞蛾中捕获到一个日志文件中并对其进行分析。