Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 16, 2011 19:47:54

vkopey
От:
Зарегистрирован: 2010-09-26
Сообщения: 116
Репутация: +  3  -
Профиль   Отправить e-mail  

Как копировать и перемещать отдельные файлы без модуля shutil?

Только с помощью модуля os.



Офлайн

#2 Авг. 16, 2011 19:57:16

Isem
От:
Зарегистрирован: 2010-08-27
Сообщения: 447
Репутация: +  7  -
Профиль   Отправить e-mail  

Как копировать и перемещать отдельные файлы без модуля shutil?

open
f.read
f.write



Офлайн

#3 Авг. 16, 2011 20:15:21

vkopey
От:
Зарегистрирован: 2010-09-26
Сообщения: 116
Репутация: +  3  -
Профиль   Отправить e-mail  

Как копировать и перемещать отдельные файлы без модуля shutil?

Спасибо! А насколько эффективнее использовать os.open(), os.read(), os.write() чем обычные функции f=open(), f.read(), f.write() ?
Я правильно поступил с размером буфера: os.path.getsize(workDir+x) ? :

for x in os.listdir(workDir): 
if os.path.isfile(workDir+x):
wf=os.open(workDir+x, os.O_RDONLY )
bf=os.open(bkupDir+x, os.O_WRONLY|os.O_CREAT )
os.write(bf, os.read(wf, os.path.getsize(workDir+x)))
os.close(wf)
os.close(bf)



Отредактировано (Авг. 16, 2011 20:23:38)

Офлайн

#4 Авг. 16, 2011 21:46:07

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Как копировать и перемещать отдельные файлы без модуля shutil?

Основное время в таких операциях обычно тратится в ядре системы - разница только в предоставляемом функционале. Это предварительное рассуждение. Рекомендую воспользоваться модулем profile или time.clock()
os.rename конечно будет лучше.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version