Python kopyalama dosyası

Python işlevleri ve meth

Birkaç programda bir dosya kopyalamanız gerekebilir. Programınız için önceden tanımlanmış bir metin kümesiyle başlayan bir günlük kaydı işlevi oluşturmak istediğinizi hayal edin. Oluşturmak istediğiniz her günlük için mevcut bir boş günlük dosyasının bir kopyasını oluşturabilirsiniz.

Python Shutil kitaplığı, dosyaları kopyalamak için bir dizi işlevle birlikte gelir. Bu kılavuzda, Python programlama dilini kullanarak bir dosyayı kopyalamak için shutil.copy() ve shutil.copy2() yöntemlerinin nasıl kullanılacağı hakkında konuşuyoruz. Haydi başlayalım.




Python Copy File

Dosyaları ve dizinleri değiştirmenize izin veren Python Shutil kitaplığı, dosyaları kopyalamak için yöntemler içerir. copy() ve copy2() yöntemleri, mevcut bir dosyayla ilişkili izinleri kopyalamanıza izin verdikleri için yaygın olarak kullanılır.

The copy() ve copy2() arasındaki fark, birincisinin dosyalarla ilişkili meta verileri (dosya hakkında bilgi parçaları, dosyayı kimin oluşturduğu gibi) kopyalamamasıdır. ikincisi bu bilgiyi kopyalarken.

Bu iki yöntemin her birinin nasıl kullanılacağını tartışalım.




Python Shutil.copy()

Bir okuldaki her öğrenci için karne oluşturan bir program oluşturalım. Başlamak için, sınıfımızdaki her öğrenci için dosyalar oluşturmak istiyoruz. Dosyalar şu şekilde başlamalıdır:

------------- ------------------------------------- Python.Engineering Okulu Karnesi -------- ------------------------------------------ ÖĞRENCİ TRANSKRİPTİNİN BAŞLANGICI ---- --------------------------------------------------

Bu bilgi zaten template.txt adlı bir dosyada bulunuyor. Okulumuzdaki her öğrenci için bir dosya oluşturmak için bu şablonu kopyalamak istiyoruz. Başlamak için, dosyalarımızı kopyalamak için kullanacağımız Shutil kitaplığını içe aktaralım ve ardından bir öğrenci listesi tanımlayalım:

import Shutil Students = ["Lucy", "Peter", "Chad"]

Bu listeyi tekrarlayacağız ve boş bir transkript oluşturacağız. her öğrenci:

Katılımcıların %81'i, bir eğitim kampına katıldıktan sonra teknik iş olanakları konusunda kendilerine daha fazla güvendiklerini belirtti. Bugün bir eğitim kampı ile eşleşin.

Ortalama bir eğitim kampı mezunu, bir eğitim kampına başlamaktan ilk işini bulmaya kadar, kariyer geçişinde altı aydan az zaman harcadı.

Bu döngü her öğrenciden geçer. listemizde. Template.txt dosyasını kopyalıyoruz ve o dosyayı her öğrenci için /home/james/students/data/ dizinine yapıştırıyoruz. Her öğrenci için dosyanın adı:

[Öğrenci adı].txt

[Öğrenci adı] değeri bir öğrencinin adını temsil eder.


Programımızı çalıştıralım ve neler olduğunu görelim:

Lucy.txt, Lucy'nin karne için oluşturuldu. Peter.txt, Peter'ın karne için oluşturuldu. Chad.txt, Chad'in karne için oluşturuldu.

Kodumuz, her öğrencinin karnesinin oluşturulduğunu belirten üç mesaj görüntüler.

/home/james/students/data/ klasörüne bakarsak, üç dosyayı görebilir:

Lucy.txt, Lucy'nin karnesi için oluşturuldu. Peter .txt, Peter'ın karne için oluşturuldu. Chad.txt, Çad'ın karne için oluşturuldu.

Her dosya, önceki şablonumuzun metnini içerir.




Python Shutil.copy2() Yöntemi

< code>shutil.copy2() yöntemi, bir dosyayı işletim sisteminizde bir yerden başka bir yere kopyalar. Bu yöntem, shutil.copy()'den farklı olarak, bir dosyayla ilişkili meta verileri de kopyalar. shutil.copy2(), shutil.copy() yöntemiyle aynı sözdizimini kullanır.

Bir ilerleme sertifikası oluşturmak istediğimizi varsayalım. oyun oynayan biri için Bu sertifika aşağıdaki metinle başlamalıdır:

RPG: Kullanıcı puan kartı RPG Python tarafından üretilmiştir game

Bu metin zaten default_scorecard.txt dosyasında bulunuyor. Shutil kitaplığındaki copy2() yöntemini kullanarak default_scorecard.txt dosyasını kopyalayabiliriz:

shutil Shutil.copy("/home/james/game/default_scorecard.txt". "/home/james/game/recent_scores.txt") print("İlerlemeniz son_scores'a kaydedildi .txt dosyası.")

Shutil kitaplığını içe aktarıyoruz ve ardından default_scorecard.txt dosyasının bir kopyasını oluşturmak için shutil.copy2() yöntemini kullanıyoruz . Daha sonra konsola, orijinal dosyanın son_scores.txt dosyasına kopyalandığını bildiren bir mesaj yazdırırız.




Diğer Yöntemler

Ayrıca kopyalama dosyasını da kullanabilirsiniz( Shutil kitaplığındaki ) ve copyfileobj() yöntemleri.

Bu yöntemlerin her ikisi de daha önce tartıştığımız iki yöntemle aynı sözdizimini kullanır:

shutil.copyfile(kaynak, hedef) Shutil.copyfileobj(kaynak, hedef)

copyfile() yöntemi, bir dosyayı bir konumdan diğerine kopyalamanıza olanak tanır. Python'a yeni ve eski dosya arasında bir sembolik bağlantı oluşturmasını da söyleyebilirsiniz. copyfileobj() yöntemi, bir dosyayı kopyalamanıza ve verilerin parçalar halinde nasıl okunacağını belirlemenize olanak tanır.


Python Shutil belgeleri.




Sonuç

Python shutil.copy() ve shutil.copy2()

code> yöntemleri, bir dosyayı başka bir konuma kopyalamanıza izin verir. Bu yöntemler, mevcut bir dosyaya eklenen izinleri kopyalar. copyfile() ve copyfileobj() yöntemlerini de kullanabilirsiniz. bir dosyayı kopyalamak için Shutil kitaplığında.

Python'da kodlama hakkında daha fazla bilgi edinmek ister misiniz? Nasıl yapılır? Python öğrenin kılavuzu. Bu kılavuz, Python kodlamayı öğrenmenize yardımcı olacak bir dizi ipucu ile birlikte gelir. Ayrıca öğreniminize rehberlik edecek öğrenme kaynakları da bulacaksınız.





Python kopyalama dosyası: StackOverflow Questions