Pag-aaral ng Python? Narito Kung Paano Kumopya ng isang File

Pag-aaral ng Python? Narito Kung Paano Kumopya ng isang File

Nais mo bang pagbutihin ang iyong kasanayan sa Python? Pagkatapos ay maaari mong subukang isakatuparan ang ilang mga gawain sa iyong computer gamit ang Python. Ang pagkopya at pag-paste ng mga file mula sa isang direktoryo patungo sa isa pa sa Python ay isang nakakatuwang paraan upang magawa ito.





Bilang karagdagan sa pagiging masaya, hinahayaan kang magbasa at sumulat ng mga file nang mabilis nang hindi nagagambala mula sa iyong code. Kung bago ka sa Python, ito ay isang kasanayan na maaaring kailangan mo pa ring kunin sa isang paraan o sa iba pa. Kaya, alamin natin kung paano makopya ang mga file sa Python sa pamamagitan ng post na ito.





Mga Kinakailangan para sa Pagkopya ng Mga File Sa Python

Mayroong maraming mga paraan upang kopyahin at i-paste ang mga file sa Python. Kaya, ang kinakailangan para sa paggawa nito ay nag-iiba at nakasalalay sa paraang napagpasyahan mong gamitin.





Habang maaaring hindi mo kailangan ng labis na mga module upang makopya ang mga file sa Python, maaari mo pa ring gamitin ang mga built-in na aklatan kung nais mo.

Halimbawa, kung nais mong gamitin ang ikaw paraan, kailangan mong i-import ito sa iyong code. Gayunpaman, ang isa sa mga tanyag na paraan ng pagkopya ng mga file sa Python ay ang paggamit ng shutil silid aklatan.



Tingnan natin kung paano natin magagamit ang iba't ibang mga pamamaraan upang makopya ang mga file sa Python.

Paano Kopyahin ang Mga File Gamit ang Built-in na Shutil Library ng Python

Ang shutil Ang module ay isang built-in at malakas na library ng Python para sa pagbabasa at pagsulat ng mga file nang mabilis sa Python.





Upang magamit ito, kailangan mo lamang ibigay ang buong landas ng mga file ng mapagkukunan at patutunguhan.

paano ko kanselahin ang musika ng amazon

Sa esensya, shutil Kinukuha ang format na ito:





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

Halimbawa, ang code sa ibaba ay gumagamit shutil.copy () upang kopyahin ang isang file na pinangalanan kopyahin.txt mula sa isang folder na tinawag aking_fold sa isa pang pinangalanan patutunguhan . Pagkatapos ay pinangalanan nito ang patutunguhang file bilang 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)

Tandaan na maaari mong isulat ang iyong code sa anumang code editor na iyong pinili. Pagkatapos ay maaari mo itong patakbuhin gamit ang linya ng utos.

Gayunpaman, maaari mo ring gamitin ang default na Python Integrated Development Environment (IDLE) kung hindi ka pamilyar sa pagpapatakbo ng Python sa pamamagitan ng linya ng utos.

Kaugnay: Mga Utos ng Command Prompt (CMD) na Dapat Mong Malaman

Ang shutil.copy Hindi kinopya ng pamamaraan ang metadata ng pinagmulang file. Sa esensya, nakikita ng iyong machine ang patutunguhang file bilang isang bago nang buo at binibigyan ito ng bagong metadata.

Gayunpaman, upang makopya ang metadata kasama ang orihinal na file, gamitin ang shutil.copy2 pamamaraan:

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

Pinapanatili ng pamamaraan sa itaas ang orihinal na metadata ng lumang file sa patutunguhang file. Halimbawa, pinapanatili ng patutunguhang file ang petsa kung kailan mo nilikha ang pinagmulang file, ang laki nito, at iba pang mga katangian.

Ang follow_symlinks ang argument ay isang simbolikong pagdeklara ng link na hinahayaan shutil sundin ang isang ganap na landas. Samakatuwid kailangan mong isama ito kung ang pinagmulan at patutunguhan ng mga file ay nasa iba't ibang mga direktoryo.

Ngunit kung ang parehong mga file ay nasa iyong kasalukuyang gumaganang direktoryo, hindi mo kailangang isama ang a follow_symlinks . Kung gagawin mo ito, ang Python ay nagtataas ng isang pagbubukod ng syntax.

kung paano mag-sign in sa windows 10

Kaya, kung na-paste mo ang pinagmulang file sa iyong kasalukuyang gumaganang direktoryo, dapat ganito ang hitsura ng iyong code:

import shutil
shutil.copy2(sourceFile, destinationFile)

Bilang karagdagan sa paggamit ng mga pamamaraan ng shutil sa itaas, maaari mo ring gamitin shutil.copyfile o shutil.copyfileobj .

Gamit shutil.copyfileobj medyo kakaiba dahil nangangailangan ito ng built-in buksan pagpapaandar Pagkatapos, kailangan mong basahin at isulat ang binary sa pamamagitan ng pagsasama ng 'rb' at 'wb' mga pagtatalo.

Tingnan natin kung paano ang shutil.copyfileobj gumagana ang pamamaraan gamit ang parehong mga direktoryo na ginamit namin dati:

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)

Tandaan na shutil.copyfileobj () hindi nangangailangan ng follow_symlinks pagtatalo

Gayunpaman, shutil.copyfile () gumagana sa parehong paraan .kopya at .kopya2 ay Ang mga ito ay naiiba lamang na hindi gaanong mahalaga sa kanilang panloob na mga pagpapaandar.

Upang magamit ang shutil.copyfile () pamamaraan:

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

Paano Kumopya ng Mga File Gamit ang os Module

Ang ikaw gumagamit ang module ng dalawang built-in na pamamaraan upang makopya ang mga file; os.system () at os.popen () paraan.

Ang os.system () Pinapayagan ka ng pamamaraan na gayahin ang kapaligiran ng linya ng utos.

Gayunpaman, ang isang pagkukulang ng os na pamamaraan ay ang mga kopya lamang ng mga file sa loob ng iyong kasalukuyang gumaganang direktoryo.

Upang magamit ang os.system () pamamaraan sa Windows:

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

Maaari mo ring gamitin ang built-in xcopy Utos ng Windows terminal:

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

Upang magamit ang os.system paraan sa Linux, palitan kopya kasama si cp :

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

Paano Kumopya ng Mga File Gamit ang os.popen na Paraan

Upang magamit ang pamamaraang ito, palitan os.system () kasama si os.popen () .

Sa Windows, gamitin ang:

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

Tulad ng ginawa namin sa os.system () , palitan kopya kasama si cp upang magamit ang pamamaraang ito sa Linux:

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

Paano Kumopya ng Mga File Sa pamamagitan ng Module ng subprocess ng Python

Bilang karagdagan sa mga pamamaraan sa itaas, maaari mo ring gamitin ang subprocess () library upang kopyahin ang mga file sa Python:

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

Gayunpaman, sa Linux, gamitin ang:

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

Ang subproseso ginagamit din ng library subprocess.check_out () pamamaraan Gumagawa ito sa parehong paraan subprocess.call () ay:

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

Sa Linux, palitan kopya kasama si cp :

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

Gayunpaman, tulad ng mga pamamaraan ng os, gumagana lamang ang mga pamamaraan ng subprocess sa mga file sa iyong kasalukuyang gumaganang direktoryo.

Tandaan: Maaari mo ring kopyahin ang mga file sa isang folder kung ito ay nasa parehong gumaganang direktoryo ng pinagmulang file. Ang kailangan mo lang gawin ay palitan ang patutunguhang filename ng pangalan ng folder ng patutunguhan. Gayunpaman, tiyakin na ang patutunguhang folder at ang source file ay nasa iyong kasalukuyang gumaganang direktoryo.

Paano Kumopya ng Mga File sa Python Nang Hindi Gumagamit ng Mga Aklatan

Maaari mo ring kopyahin ang mga file sa Python nang hindi nakasalalay sa anumang library. Tulad ng paraan ng shutil, kakailanganin mo lamang ang buong mga landas ng mga direktoryo ng mapagkukunan at patutunguhan.

windows 10 hindi nagpapakita ng panlabas na hard drive

Narito kung paano makamit ito:

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())

Upang magamit muli ang code, maaari mong baguhin ito sa isang pagpapaandar:

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)

Ayan yun. Gumawa ka lamang ng isang magagamit muli na file copier sa Python nang hindi gumagamit ng anumang library.

Panatilihin ang Mga Awtomatikong Gawain Sa Python

Bilang karagdagan sa pagtulong sa iyo na manatiling nakatuon sa iyong code habang nagtatayo ng mga proyekto, hinahayaan ka ng pagkopya ng mga file sa Python na mas maunawaan mo ang pamamahala ng file sa Python. Gayunpaman, ang paglalaro sa mga gawain ng Python ay isang paraan upang mapabuti ang iyong kasanayan sa Python, lalo na kung ikaw ay isang nagsisimula.

Halimbawa, maaari mong baguhin ang petsa at oras sa iyong PC gamit ang os module. Maaari ka ring magsulat ng mga pasadyang utos ng bash sa Python kung nais mo.

Magbahagi Magbahagi Mag-tweet Email Paano Lumikha ng Iyong Sariling Program ng Command Line sa Python Sa Pag-click

Nais bang gumawa ng iyong sariling mga programa ng linya ng utos ng Python ngunit napakahirap nito? Gumamit ng Click, isang kapaki-pakinabang na tool ng Python upang i-streamline ang iyong code.

Basahin Susunod
Mga Kaugnay na Paksa
  • Programming
  • Sawa
Tungkol sa May-akda Idisou Omisola(94 na artikulong nalathala)

Si Idowu ay madamdamin tungkol sa anumang matalinong tech at pagiging produktibo. Sa kanyang libreng oras, naglalaro siya kasama ang pag-coding at paglipat sa chessboard kapag siya ay naiinip, ngunit gusto din niya ang paghihiwalay mula sa nakagawiang gawain sa isang sandali. Ang kanyang hilig sa pagpapakita sa mga tao ng paraan sa paligid ng modernong tech ay nag-uudyok sa kanya na magsulat pa.

Higit pa Mula sa Idowu Omisola

Mag-subscribe sa aming newsletter

Sumali sa aming newsletter para sa mga tip sa tech, pagsusuri, libreng ebook, at eksklusibong deal!

Mag-click dito upang mag-subscribe