Mine værktøjer
Du er her: Forside diverse filer til download mm. cpfile.py
Handlinger tilknyttet webside

cpfile.py

af Lars Bauer JørgensenSidst opdateret 21/10 2009 10:53

? Jeg sidder og prøver at lave et program som kan kopiere filer, men mens jeg sidder og afprøver det finder jeg ud af at programmet ikke kan kopiere filer over 1 mb eller i hvert fald der omkring. Jeg forstår ikke hvorfor da jeg jo har sat bufferen til næsten 2mb. Svar 1. kopier med lille buffer eller 2. brug operativsystemets egen cp cmd.

Klik her for at hente fil

Størrelse: 1.3 kB - Filtype text/python-source

Indhold af fil-indholdsobjekt

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
#
"""
USAGE: cpfile.py <source> <dest>
"""
# ? Jeg sidder og prøver at lave et program som kan kopiere filer, men mens jeg 
# sidder og afprøver det finder jeg ud af at programmet ikke kan kopiere filer 
# over 1 mb eller i hvert fald der omkring. Jeg forstår ikke hvorfor da jeg jo 
# har sat bufferen til næsten 2mb. 

# Svar 1. kopier med lille buffer eller 2. brug operativsystemets egen cp cmd.

def os_cp(src, dest):
    import os
    os.system("cp %(src)s %(dest)s" % vars())
    
def cp(kilde, maal, buf_size=1024):
    """Kopierer kilde til maal
    Der bruges en buffer på buf_size bytes så kopieringen er økonomisk hvad angår ram.
    """
    k = open(kilde, "rb")
    m =  open(maal, "w")

    buf = k.read(buf_size)
    while buf:
        m.write(buf)
        buf = k.read(buf_size)
        
if __name__=="__main__":        
    import sys
    import datetime
    import time

    try:
        kilde = sys.argv[1]
        maal = sys.argv[2]
    except IndexError, e:
        sys.stderr.write( "Wrong arguments?\n")
        sys.stderr.write(__doc__)
        sys.exit(1)

    start = datetime.datetime.now()
    cp(kilde, maal, buf_size=1000)
    print "Elapsed", datetime.datetime.now() - start

    start = datetime.datetime.now()
    os_cp(kilde, maal)
    print "Elapsed", datetime.datetime.now() - start
« august 2018 »
søn man tir ons tor fre lør
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Chat Rooms
Dyrk motion

Trim ballerup

 

Powered by Plone, the Open Source Content Management System