Dosyayı Kopyala Python: Shutil.copy(), Shutil.copystat() yöntemi
⚡ Akıllı Özet
Python `shutil` modülü ile dosyaları kopyalayabilirsiniz. `shutil.copy()` bir dosyanın içeriğini kopyalarken, `shutil.copystat()` ise izinleri, değiştirme zamanını ve meta verilerini de kopyalar. Burada her iki yöntemi de adım adım bir örnekle öğreneceksiniz.

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 –
- Değişken bildirmek
- Değişkene bölme fonksiyonunu uygulama
Code 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.splitkaynak değişkenindeki işlev - Code Çalıştırıldığında " çıktısını verir.dosya adıve Gülay Pala isedosya 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.
Code 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.
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.
İş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
-
Code 15. Satır - Bu satır, .txt dosyasının (guru99) en son ne zaman değiştirildiğini, gününü, ayını, yılını ve saatini gösterir. Dosya değiştirme zamanı ayrıntılarını almak için path modülünü kullanıyoruz ve daha sonra bunu kullanacağız. 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.
-
Code 17. Satır - Dosya değişikliği hakkında bilgi vererek aynı işlevi görür, ancak bunu farklı bir biçimde sunar. Burada şunu 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()





