C:\Users\Mr\Desktop\Python18.8.png

کپی فایل در پایتون با استفاده از ()shutil.copy و ()shutil.copystat

folderسایر
comments1 دیدگاه
اساطیر زبان

پایتون توابع داخلی برای کپی برداری آسان از فایل ها با استفاده از Shell System Operating فراهم می کند.

دستور زیر برای کپی فایل استفاده می شود.

 


برنامه نویسی شبکه معماری کامپیوتر هوش مصنوعی و تجاری

توی این پک فوق العاده، صفرتاصد مبانی برنامه نویسی رو جوری یاد میگیری که تو هیچ کلاس آموزشی یا پک دیگه ای نه دیدی نه شنیدی! بدون هیچ کلاسی، با صفرتاصد مبانی برنامه نویسی اپلیکیشن بزن، پروژه محور یاد بگیر و حسابی پول در بیار! 


 

 


پایتون

توی این پک فوق العاده، پایتون رو جوری یاد میگیری که تو هیچ کلاس آموزشی یا پک دیگه ای نه دیدی نه شنیدی! بدون هیچ کلاسی، با پایتون اپلیکیشن بزن، پروژه محور یاد بگیر و حسابی پول در بیار! 


 

shutil.copy(src,dst)

دستور زیر برای کپی کردن فایل با اطلاعات MetaData استفاده می شود.

shutil.copystat(src,dst)

در اینجا مراحل کپی کردن فایل در پایتون آورده شده است.

مرحله ۱) قبل از اینکه فایل را کپی کنیم ، باید مسیر مربوط به فایل اصلی را در دایرکتوری اصلی دریافت کنیم. در کد –

۱- تعریف متغیر

۲- اعمال تابع split روی متغیر

C:\Users\Mr\Desktop\Python18.5.png

توضیح کد

  • ابتدا می خواهیم بررسی کنیم فایل “guru99.txt” وجود دارد یا خیر. از آنجا که فایل guru99.txt را قبلاً ایجاد کرده ایم ، می دانیم که وجود دارد و با بقیه ی کد ادامه خواهیم داد.
  • در صورت وجود فایل ، مسیر فایل را در متغیر “src” ذخیره می کنیم.
  • پس از دریافت مسیر ، قصد داریم مسیر و نام فایل را از هم جدا کنیم.
  • برای این کار ، از تابع path.split در متغیر منبع استفاده می کنیم.
  • هنگام اجرا ، کد “نام فایل” و “مسیر فایل” را جداگانه چاپ می کند.

مرحله ۲) از ماژول Shutil برای ایجاد یک نسخه از فایل موجود استفاده می کنیم. در اینجا یک نسخه از فایل موجود “guru99.txt” ایجاد کردیم.

C:\Users\Mr\Desktop\Python18.6.png

توضیح کد

  • نام فایل اصلی “guru99.txt” را بگیرید و در انتهای آن حروف bak. را اضافه کنید “guru99.txt.bak”. این نام با پسوند bak. کپی ما خواهد بود.
  • سپس از تابع های کپی برای کپی کردن از مبدا به مقصد استفاده می کنیم.
  • هنگامی که کد را اجرا کنید ، یک فایل تکراری با پسوند bak. در سمت راست پنل ایجاد می شود.

مرحله ۳) تابع کپی فقط محتوای فایل را کپی می کند اما هیچ اطلاعات دیگری ندارد. برای کپی کردن meta data مربوط به فایل ، مجوز فایل و سایر اطلاعات باید از تایع “copystat” استفاده کنید. قبل از اجرای کد ، باید فایل کپی “guru99.text.bak” را حذف کنیم.

C:\Users\Mr\Desktop\Python18.7.png

پس از حذف فایل و اجرای برنامه ، کپی از فایل txt. ایجاد می شود اما این بار با تمام اطلاعاتی مانند مجوز فایل ، زمان اصلاح و اطلاعات meta data. برای تأیید صحت اطلاعات می توانید به shell O.S خود مراجعه کنید.

C:\Users\Mr\Desktop\Python18.8.png

کد در زیر آورده شده است:

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

مرحله ۴) می توانید اطلاعات مربوط به فایل متنی را که آخرین بار تغییر یافته است دریافت کنید.

C:\Users\Mr\Desktop\Python18.4_New.png

  • کد خط شماره ۱۵- روز هفته، ماه، روز، سال و زمان آخرین تغییرات فایل txt). (guru99 را مشخص می کند. از ماژول path استفاده می کنیم تا جزئیات زمان اصلاح فایل را بدست آوریم و سپس از تابع time کلاس ctime استفاده می کنیم تا آن را به زمان قابل خواندن تبدیل کنیم. بنابراین وقتی کد را اجرا می کنیم ، می بینیم فایل guru99.txt آخرین بار در دوشنبه ، ۸ ژانویه در ساعت ۱۳:۳۵ سال ۲۰۱۸ تغییر یافته است.
  • کد خط شماره ۱۷- همان کار را می کند و اطلاعات مربوط به تغییرات فایل را ارائه می دهد ، اما برای نمایش آن فرمت دیگری دارد. در اینجا از تابع Get Modification Time path.getmtime (“guru99.txt”) استفاده می کنیم. اکنون به جای استفاده از تابع ctime می خواهیم از تابع From Time Stamp استفاده کنیم و قصد داریم یک شی زمان تاریخ را بسازیم. در خروجی ، می توانید جزئیات زمان تغییر فایل را با فرمت های مختلف ۲۰۱۸-۰۱-۰۸, ۱۳:۳۵:۵۱٫۳۳۴۰۷۲ چاپ کنید.

کد کامل:

#

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

خلاصه

  • برای ایجاد یک نسخه کپی از فایل موجود از کد (shutil.copy (src, dst استفاده می شود.
  • برای کپی کردن کلیه اطلاعات فایل اصلی در فایل کپی شده مانند مجوز فایل ، زمان اصلاح یا اطلاعات متا داده ها از کد (shutil.copystat (src ,dst استفاده می شود.

تفاوت پک های حرفه ای ما با آموزشهای رایگان: بطور خلاصه از زمین تا آسمان! 1-پکها، جدیدترین نسخه نرم افزارها را آموزش می دهند با قابلیت های بسیار بیشتر. 2-پکها توسط متخصص آن نرم افزار، به صورت کاملا پروژه محور و با حل چالش هایی که در مسیر کار عملی و حرفه ای با آن روبرو می شوید تهیه شده اند و بعد از استفاده، کاملا برای بازار کار آماده اید! 3- متد این پکها کاملا کار شده و تا ماهها، در ذهن تان ماندگارند و یادگیری بسیار سریعتر و کاملتری خواهید داشت. آموزشهای رایگان فقط دستورات نرم افزارها را (آنهم ناقص) بیان می کنند و تازه برای ورود به بازار باید ماهها تجربه عملی هم کسب کنید !!

turned_in,

چرب زبان

با این اپلیکیشن ساده، هر زبانی رو فقط با 5 دقیقه در روز، توی 80 روز مثل بلبل حرف بزن! بهترین متد روز، تقویت حافظه، آموزش تصویری. یادگیری زبان کلید یادگیری هر مهارتی در قرن 21 !


حتما بخوانید!

1 دیدگاه. ارسال دیدگاه جدید

  • سلام ایا امکانش هست ک مصلا یک فایل اجرای اجرا بشه و یک کپی از خودش ک درحال اجا هست بگیره و بعد انتقالش بده مثلا به یک پوشه عقب تر؟

    پاسخ

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این فیلد را پر کنید
این فیلد را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.

فهرست