Dosyayı Kopyala Python: Shutil.copy(), Shutil.copystat() yöntemi

Python Dosya Yöntemlerini Kopyala

Python kullanarak dosyaları kolayca kopyalamak için yerleşik işlevler sağlar. OperaSistem Kabuğu yardımcı programlarını kullanın.

Dosyayı Kopyalamak için aşağıdaki komut kullanılır

shutil.copy(src,dst)

Aşağıdaki komut, MetaData Bilgileri ile Dosyayı Kopyalamak için kullanılır

shutil.copystat(src,dst)

Bir Dosya Nasıl Kopyalanır Python

Dosyayı kopyalama adımları şunlardır Python Shutil copy() yöntemini kullanarak:

) 1 Adım Geçerli dizindeki orijinal yolu yakala
Bir dosyayı kopyalamadan önce, geçerli dizindeki orijinal dosyanın yolunu almamız gerekir. Kodda –

  1. Değişken bildirmek
  2. Değişkene bölme fonksiyonunu uygulama

Bir Dosyayı Kopyala Python

Kod Açıklama

  • Öncelikle “guru99.txt” dosyamızın var olup olmadığını kontrol edeceğiz. guru99.txt dosyasını daha önce oluşturduğumuz için onun var olduğunu biliyoruz ve kodla devam edeceğiz
  • Dosya yolunu “değişkeninde saklıyoruz”src"dosyanız mevcutsa
  • Yolu bulduktan sonra yolu ve dosya adını ayıracağız
  • Bunun için bölmeyi kullanacağız path.split kaynak değişkenindeki işlev
  • Yürütüldüğünde kod yazdırılır "dosya adı"Ve"dosya yolu" ayrı ayrı

) 2 Adım Shutil modülünü kullanarak mevcut dosyamızın bir kopyasını oluşturun
Mevcut dosyanın bir kopyasını oluşturmak için Shutil Modülünü kullanıyoruz. Burada mevcut “guru99.txt” dosyamızın bir kopyasını oluşturuyorduk.

Bir Dosyayı Kopyala Python

Kod Açıklama

  • Orijinal dosya adı olan “guru99.txt”yi alın ve “guru99.txt.bak” sonuna .bak harflerini ekleyin. .bak uzantılı bu isim kopya kopyamız olacak
  • Daha sonra kaynaktan hedefe kopyalamak için yardımcı programın kopyalama fonksiyonunu kullanacağız.
  • Kodu çalıştırdığınızda panelin sağ tarafında .bak uzantılı bir kopya dosyanın oluşturulduğunu göreceksiniz.

) 3 Adım Dosya, dosya izni ve diğer bilgilerle ilişkili meta verileri kopyalayın
Kopyalama işlevi yalnızca dosyanın içeriğini kopyalar, başka bilgileri kopyalamaz. Kopyalamak Meta-veri kullanmak zorunda olduğunuz dosya, dosya izni ve diğer bilgilerle ilişkili”kopyalama durumu" işlev. Bu kodu çalıştırmadan önce “guru99.text.bak” kopya dosyamızı silmemiz gerekiyor.

Bir Dosyayı Kopyala Python

Dosyayı silip programı çalıştırdığınızda, .txt dosyanızın bir kopyası oluşturulacaktır ancak bu sefer aşağıdaki gibi tüm bilgilerle birlikte dosya izni, değişiklik zamanı ve meta veri bilgileri. Bilgileri doğrulamak için işletim sistemi kabuğunuza gidebilirsiniz.

Bir Dosyayı Kopyala Python

İşte kod

import os
import shutil
from os import path

def main():
    # make a duplicate of an existing file
	if path.exists("guru99.txt"):
    # get the path to the file in the current directory
        src = path.realpath("guru99.txt");
    
	#seperate the path from the filter
	head, tail = path.split(src)
	print("path:" +head)
	print("file:" +tail)
	
	#let's make a backup copy by appending "bak" to the name
	dst = src+".bak"
	# nowuse the shell to make a copy of the file
	shutil.copy(src, dst)
	
	#copy over the permissions,modification
	shutil.copystat(src,dst)
	
if __name__=="__main__":
	main()

) 4 Adım Bilgileri getir
En son değiştirilen metin dosyası hakkındaki bilgileri alabilirsiniz

Bir Dosyayı Kopyala Python

  • Kod Satırı#15- .txt dosyasının (guru99) en son ne zaman değiştirildiğini gün, tarih, ay, yıl ve saat olarak söyler. Dosyanın değiştirilme zamanı ayrıntılarını almak için path modülünü kullanırız ve sonra zaman sınıfları c zaman fonksiyonu bunu okunabilir bir zamana dönüştürmek için. Yani kodu çalıştırdığımızda guru99.txt dosyasının en son değiştirildiği tarihi görebiliriz. 8 Ocak Pztth 13:35 2018'de.
  • Kod Satırı#17- Dosya değişikliği hakkında bilgi vererek aynı şeyi yapar, ancak bunu temsil etmek için farklı bir formata sahiptir. Burada kullanıyoruz Değişiklik Zamanını Al işlevi (path.getmtime(“guru99.txt”)). Şimdi c zaman fonksiyonunu kullanmak yerine kullanacağız Zaman Damgası işlevinden ve bir tarih saat nesnesi oluşturacağım. Çıktıda, dosya değişiklik zamanı ayrıntılarının farklı formatta yazdırıldığını görebilirsiniz. 2018-01-08, 13:35:51.334072

İşte kod

#
# Example file for working with o.s path module

import os
from os import path
import datetime
from datetime import date, time, timedelta
import time

def main():

    # Get the modification time
    t = time.ctime(path.getmtime("guru99.txt.bak"))
    print(t)
    print(datetime.datetime.fromtimestamp(path.getmtime("guru99.txt.bak")))

if __name__ == "__main__":
    main()

ÖZET

  • Kodu kullanarak mevcut dosyanın bir kopyasını oluşturmak için Shutil.copy (src,dst)
  • Orijinal dosyanın tüm bilgilerini aşağıdaki gibi çoğaltılan dosyaya kopyalamak için dosya izni, değişiklik zamanı veya meta veri bilgileri Shutil.copystat(src,dst) kodunu kullanarak