Μαθαίνω Python; Δείτε πώς μπορείτε να αντιγράψετε ένα αρχείο

Μαθαίνω Python; Δείτε πώς μπορείτε να αντιγράψετε ένα αρχείο

Θέλετε να βελτιώσετε την ικανότητά σας στην Python; Στη συνέχεια, μπορείτε να δοκιμάσετε να εκτελέσετε ορισμένες εργασίες στον υπολογιστή σας με την Python. Η αντιγραφή και η επικόλληση αρχείων από έναν κατάλογο σε άλλο με την Python είναι ένας διασκεδαστικός τρόπος για να το κάνετε αυτό.





Εκτός από διασκεδαστικό, σας επιτρέπει να διαβάζετε και να γράφετε αρχεία γρήγορα χωρίς να αποσπάται η προσοχή σας από τον κώδικά σας. Εάν είστε νέοι στην Python, είναι μια δεξιότητα που μπορεί να χρειαστεί να αποκτήσετε με τον έναν ή τον άλλο τρόπο. Λοιπόν, ας μάθουμε πώς να αντιγράφουμε αρχεία με την Python μέσω αυτής της ανάρτησης.





Απαιτήσεις για αντιγραφή αρχείων με Python

Υπάρχουν πολλοί τρόποι για να αντιγράψετε και να επικολλήσετε αρχεία με Python. Έτσι, η απαίτηση για να το κάνετε ποικίλλει και εξαρτάται από τη μέθοδο που θα αποφασίσετε να χρησιμοποιήσετε.





Αν και μπορεί να μην χρειάζεστε επιπλέον μονάδες για να αντιγράψετε αρχεία με Python, μπορείτε να χρησιμοποιήσετε ενσωματωμένες βιβλιοθήκες αν θέλετε.

Για παράδειγμα, εάν θέλετε να χρησιμοποιήσετε το εσείς μέθοδο, πρέπει να το εισαγάγετε στον κωδικό σας. Ωστόσο, ένας από τους δημοφιλείς τρόπους αντιγραφής αρχείων με την Python είναι η χρήση του σουτιλα βιβλιοθήκη.



Ας δούμε πώς μπορούμε να χρησιμοποιήσουμε αυτές τις διάφορες μεθόδους για να αντιγράψουμε αρχεία με Python.

Πώς να αντιγράψετε αρχεία χρησιμοποιώντας την ενσωματωμένη βιβλιοθήκη Shutil της Python's

ο σουτιλα Το module είναι μια ενσωματωμένη και ισχυρή βιβλιοθήκη Python για γρήγορη ανάγνωση και εγγραφή αρχείων σε Python.





Για να το χρησιμοποιήσετε, χρειάζεται μόνο να δώσετε την πλήρη διαδρομή των αρχείων προέλευσης και προορισμού.

μιλήστε με εφαρμογές κειμένου δωρεάν για android

Στην ουσία, σουτιλα παίρνει αυτή τη μορφή:





shutil.copy([source directory path], [destination directory path], follow_symlinks=True)

Για παράδειγμα, χρησιμοποιεί τον παρακάτω κώδικα shutil.copy () για να αντιγράψετε ένα όνομα με όνομα copy.txt από έναν φάκελο που ονομάζεται ο φάκελός μου σε ένα άλλο που ονομάζεται προορισμός Το Στη συνέχεια μετονομάζει το αρχείο προορισμού σε newFile.txt :

import shutil
sourceFile = 'C:/Users/some_directories/my_folder/copy.txt'
destinationFile = 'C:/Users/some_directories/destination/newFile.txt'
shutil.copy(sourceFile, destinationFile, follow_symlinks=True)

Σημειώστε ότι μπορείτε να γράψετε τον κωδικό σας σε οποιονδήποτε επεξεργαστή κώδικα της επιλογής σας. Στη συνέχεια, μπορείτε να το εκτελέσετε χρησιμοποιώντας τη γραμμή εντολών.

Ωστόσο, μπορείτε επίσης να χρησιμοποιήσετε το προεπιλεγμένο περιβάλλον ενσωματωμένης ανάπτυξης Python (IDLE) εάν δεν είστε εξοικειωμένοι με την εκτέλεση του Python μέσω της γραμμής εντολών.

Σχετίζεται με: Εντολές γραμμής εντολών (CMD) που πρέπει να γνωρίζετε

ο shutil.αντιγραφή η μέθοδος δεν αντιγράφει τα μεταδεδομένα του αρχείου προέλευσης. Ουσιαστικά, το μηχάνημά σας βλέπει το αρχείο προορισμού ως νέο εντελώς και του δίνει νέα μεταδεδομένα.

Ωστόσο, για να αντιγράψετε τα μεταδεδομένα μαζί με το αρχικό αρχείο, χρησιμοποιήστε το shutil.copy2 μέθοδος:

import shutil
shutil.copy2(sourceFile, destinationFile, follow_symlinks=True)

Η παραπάνω μέθοδος διατηρεί τα αρχικά μεταδεδομένα του παλιού αρχείου στο αρχείο προορισμού. Για παράδειγμα, το αρχείο προορισμού διατηρεί την ημερομηνία που δημιουργήσατε το αρχείο προέλευσης, το μέγεθός του και άλλα χαρακτηριστικά.

ο follow_symlinks Το όρισμα είναι μια συμβολική δήλωση συνδέσμου που επιτρέπει σουτιλα ακολουθήστε έναν απόλυτο δρόμο. Επομένως, πρέπει να το συμπεριλάβετε εάν τα αρχεία προέλευσης και προορισμού βρίσκονται σε διαφορετικούς καταλόγους.

Αλλά εάν και τα δύο αρχεία βρίσκονται στον τρέχοντα κατάλογο εργασίας, δεν χρειάζεται να συμπεριλάβετε ένα follow_symlinks Το Αν το κάνετε, η Python αυξάνει μια εξαίρεση σύνταξης.

πώς να λάβετε email icloud στο android

Έτσι, εάν επικολλάτε το αρχείο προέλευσης στον τρέχοντα κατάλογο εργασίας, ο κωδικός σας θα πρέπει να μοιάζει με αυτόν:

import shutil
shutil.copy2(sourceFile, destinationFile)

Εκτός από τη χρήση των παραπάνω μεθόδων shutil, μπορείτε επίσης να χρησιμοποιήσετε shutil.copyfile ή shutil.copyfileobj Το

Χρησιμοποιώντας shutil.copyfileobj είναι λίγο διαφορετικό καθώς απαιτεί ενσωματωμένο Άνοιξε λειτουργία. Στη συνέχεια, πρέπει να διαβάσετε και να γράψετε δυαδικά, συμπεριλαμβάνοντας το 'rb' και 'wb' επιχειρήματα.

Ας δούμε πώς το shutil.copyfileobj η μέθοδος λειτουργεί χρησιμοποιώντας τους ίδιους καταλόγους που χρησιμοποιήσαμε προηγουμένως:

import shutil
sourceFilePath = open('C:/Users/some_directories/my_folder/copy.txt', 'rb')
destinationFilePath = open('C:/Users/some_directories/destination/newFile.txt', 'wb')
shutil.copyfileobj(sourceFilePath, destinationFilePath)

Σημειώστε ότι shutil.copyfileobj () δεν απαιτεί το follow_symlinks διαφωνία.

Ωστόσο, shutil.copyfile () λειτουργεί με τον ίδιο τρόπο .αντίγραφο και .αντιγραφή2 κάνει. Διαφέρουν μόνο ασήμαντα στις εσωτερικές τους λειτουργίες.

Για να χρησιμοποιήσετε το shutil.copyfile () μέθοδος:

import shutil
sourceFilePath = 'C:/Users/some_directories/my_folder/copy.txt'
destinationFilePath = 'C:/Users/some_directories/destination/newFile.txt'
shutil.copyfile(sourceFilePath, destinationFilePath)

Πώς να αντιγράψετε αρχεία με το λειτουργικό σύστημα os

ο εσείς Η ενότητα χρησιμοποιεί δύο ενσωματωμένες μεθόδους για την αντιγραφή αρχείων. os.system () και os.popen () μεθόδους.

ο os.system () Η μέθοδος σάς επιτρέπει να μιμηθείτε το περιβάλλον της γραμμής εντολών.

Ωστόσο, ένα μειονέκτημα των μεθόδων os είναι ότι αντιγράφουν μόνο αρχεία στον τρέχοντα κατάλογο εργασίας σας.

Για να χρησιμοποιήσετε το os.system () μέθοδος στα Windows:

import os
os.system('copy source.txt destination.txt)

Μπορείτε επίσης να χρησιμοποιήσετε το ενσωματωμένο xcopy Εντολή τερματικού Windows:

import os
os.system('xcopy source.txt destination.txt)

Για να χρησιμοποιήσετε το os.system μέθοδος σε Linux, αντικατάσταση αντίγραφο με cp :

import os
os.system('cp source.txt destination.txt)

Πώς να αντιγράψετε αρχεία χρησιμοποιώντας τη μέθοδο os.popen

Για να χρησιμοποιήσετε αυτήν τη μέθοδο, αντικαταστήστε os.system () με os.popen () Το

Στα Windows, χρησιμοποιήστε:

import os
os.popen('copy source.txt destination.txt)

Όπως κάναμε με os.system () , αντικαταστήστε αντίγραφο με cp για να χρησιμοποιήσετε αυτήν τη μέθοδο στο Linux:

import os
os.popen('cp source.txt destination.txt)

Πώς να αντιγράψετε αρχεία με τη μονάδα υποεπεξεργασίας Python

Εκτός από τις παραπάνω μεθόδους, μπορείτε επίσης να χρησιμοποιήσετε το υποεπεξεργασία () βιβλιοθήκη για αντιγραφή αρχείων σε Python:

import subprocess as sp
sp.call('copy sourceFile destinationFile', shell=True)

Ωστόσο, στο Linux, χρησιμοποιήστε:

import subprocess as sp
sp.call('cp sourceFile destinationFile', shell=True)

ο υποεπεξεργασία βιβλιοθήκη επίσης χρησιμοποιεί subprocess.check_out () μέθοδος. Λειτουργεί με τον ίδιο τρόπο subprocess.call () κάνει:

import subprocess as sp
sp.check_out('copy sourceFile destinationFile', shell=True)

Στο Linux, αντικαταστήστε αντίγραφο με cp :

import subprocess as sp
sp.check_out('cp sourceFile destinationFIle', shell=True)

Ωστόσο, όπως και οι μέθοδοι os, οι μέθοδοι υποεπεξεργασίας λειτουργούν μόνο με αρχεία στον τρέχοντα κατάλογο εργασίας σας.

Σημείωση: Μπορείτε επίσης να αντιγράψετε αρχεία σε ένα φάκελο εάν βρίσκεται στον ίδιο κατάλογο εργασίας με το αρχείο προέλευσης. Το μόνο που χρειάζεται να κάνετε είναι να αντικαταστήσετε το όνομα αρχείου προορισμού με το όνομα του φακέλου προορισμού. Ωστόσο, βεβαιωθείτε ότι ο φάκελος προορισμού και το αρχείο προέλευσης βρίσκονται στον τρέχοντα κατάλογο εργασίας σας.

Πώς να αντιγράψετε αρχεία σε Python χωρίς να χρησιμοποιήσετε βιβλιοθήκες

Μπορείτε επίσης να αντιγράψετε αρχεία σε Python χωρίς να εξαρτάται από οποιαδήποτε βιβλιοθήκη. Όπως και η μέθοδος shutil, χρειάζεστε μόνο τις πλήρεις διαδρομές των καταλόγων προέλευσης και προορισμού.

πώς να διακρίνετε αν μια φωτογραφία είναι ψεύτικη

Δείτε πώς μπορείτε να το επιτύχετε αυτό:

sourcePath = 'C:/Users/source_directories/my_folder/copy.txt'
destinationPath = 'C:/Users/some_directories/destination_directories/newFile.txt'
with open(sourcePath, 'rb') as read:
with open(destinationPath, 'wb') as myfile:
myfile.write(read.read())

Για να κάνετε τον κώδικα επαναχρησιμοποιήσιμο, μπορείτε να τον τροποποιήσετε σε συνάρτηση:

def copyFile(source=None, destination=None):
if not (source and destination)==None:
with open(source, 'rb') as read:
with open(destination, 'wb') as myfile:
myfile.write(read.read())
else:
print('Please enter the source and destination paths')
copyFile(sourcePath, destinationPath)

Αυτό είναι. Μόλις δημιουργήσατε ένα φωτοαντιγραφικό αρχείο πολλαπλής χρήσης με την Python χωρίς να χρησιμοποιήσετε βιβλιοθήκη.

Συνεχίστε την αυτοματοποίηση εργασιών με την Python

Εκτός από το να σας βοηθά να παραμένετε συγκεντρωμένοι στον κώδικά σας κατά τη δημιουργία έργων, η αντιγραφή αρχείων με την Python σας επιτρέπει να κατανοείτε καλύτερα τη διαχείριση αρχείων με την Python. Ωστόσο, το να παίζετε με εργασίες Python είναι ένας τρόπος για να βελτιώσετε τις δεξιότητές σας σε Python, ειδικά αν είστε αρχάριος.

Για παράδειγμα, μπορείτε να αλλάξετε την ημερομηνία και την ώρα στον υπολογιστή σας με τη μονάδα os. Μπορείτε ακόμη να γράψετε προσαρμοσμένες εντολές bash με την Python εάν θέλετε.

Μερίδιο Μερίδιο Τιτίβισμα ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ Πώς να δημιουργήσετε τα δικά σας προγράμματα γραμμής εντολών σε Python με κλικ

Θέλετε να φτιάξετε τα δικά σας προγράμματα γραμμής εντολών Python αλλά σας φαίνεται πολύ δύσκολο; Χρησιμοποιήστε το Click, ένα χρήσιμο εργαλείο Python για τον εξορθολογισμό του κώδικα σας.

Διαβάστε Επόμενο
Σχετικά θέματα
  • Προγραμματισμός
  • Πύθων
Σχετικά με τον Συγγραφέα Ηδίσου Ομισόλα(94 άρθρα δημοσιεύθηκαν)

Η Idowu είναι παθιασμένη με οτιδήποτε έξυπνη τεχνολογία και παραγωγικότητα. Στον ελεύθερο χρόνο του, παίζει με κωδικοποίηση και μεταβαίνει στη σκακιέρα όταν βαριέται, αλλά του αρέσει επίσης να ξεφεύγει από τη ρουτίνα κάθε τόσο. Το πάθος του για να δείξει στους ανθρώπους την πορεία της σύγχρονης τεχνολογίας τον παρακινεί να γράψει περισσότερα.

Περισσότερα από το Idowu Omisola

Εγγραφείτε στο newsletter μας

Εγγραφείτε στο ενημερωτικό μας δελτίο για τεχνικές συμβουλές, κριτικές, δωρεάν ebooks και αποκλειστικές προσφορές!

Κάντε κλικ εδώ για εγγραφή