পাইথন শিখছেন? এখানে কিভাবে একটি ফাইল কপি করতে হয়

পাইথন শিখছেন? এখানে কিভাবে একটি ফাইল কপি করতে হয়

আপনি কি আপনার পাইথন দক্ষতা উন্নত করতে চান? তারপর আপনি আপনার কম্পিউটারে পাইথন দিয়ে কিছু কাজ করার চেষ্টা করতে পারেন। পাইথন দিয়ে একটি ডিরেক্টরি থেকে অন্য ফাইল কপি এবং পেস্ট করা এটি করার একটি মজার উপায়।





মজা করার পাশাপাশি, এটি আপনাকে আপনার কোড থেকে বিভ্রান্ত না হয়ে দ্রুত ফাইল পড়তে এবং লিখতে দেয়। আপনি যদি পাইথনে নতুন হন তবে এটি একটি দক্ষতা যা আপনাকে এখনও এক বা অন্যভাবে বেছে নিতে হবে। সুতরাং, আসুন এই পোস্টের মাধ্যমে পাইথন দিয়ে ফাইল কপি করার উপায় খুঁজে বের করি।





পাইথন দিয়ে ফাইল কপি করার প্রয়োজনীয়তা

পাইথন দিয়ে ফাইল কপি এবং পেস্ট করার অনেক উপায় আছে। সুতরাং, এটি করার প্রয়োজনীয়তা পরিবর্তিত হয় এবং আপনি যে পদ্ধতিটি ব্যবহার করবেন তা নির্ভর করে।





যদিও পাইথনের সাথে ফাইল কপি করার জন্য আপনার অতিরিক্ত মডিউলের প্রয়োজন নাও হতে পারে, আপনি চাইলে অন্তর্নির্মিত লাইব্রেরি ব্যবহার করতে পারেন।

উদাহরণস্বরূপ, যদি আপনি ব্যবহার করতে চান আপনি পদ্ধতি, আপনাকে এটি আপনার কোডে আমদানি করতে হবে। যাইহোক, পাইথনের সাথে ফাইল কপি করার একটি জনপ্রিয় উপায় হল শাটিল গ্রন্থাগার।



আসুন দেখি কিভাবে পাইথন দিয়ে ফাইল কপি করার জন্য আমরা এই বিভিন্ন পদ্ধতি ব্যবহার করতে পারি।

পাইথনের অন্তর্নির্মিত শুটিল লাইব্রেরি ব্যবহার করে ফাইলগুলি কীভাবে অনুলিপি করবেন

দ্য শাটিল পাইথনে দ্রুত ফাইল পড়ার এবং লেখার জন্য মডিউল একটি অন্তর্নির্মিত এবং শক্তিশালী পাইথন লাইব্রেরি।





এটি ব্যবহার করতে, আপনাকে কেবল উৎস এবং গন্তব্য ফাইলগুলির সম্পূর্ণ পথ সরবরাহ করতে হবে।

কিভাবে সিম ঠিক করা যায় না

মোটকথা, শাটিল এই বিন্যাসটি গ্রহণ করে:





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)

মনে রাখবেন আপনি আপনার পছন্দের যে কোন কোড এডিটরে আপনার কোড লিখতে পারেন। তারপর আপনি কমান্ড লাইন ব্যবহার করে এটি চালাতে পারেন।

যাইহোক, আপনি ডিফল্ট পাইথন ইন্টিগ্রেটেড ডেভেলপমেন্ট এনভায়রনমেন্ট (IDLE) ব্যবহার করতে পারেন যদি আপনি কমান্ড লাইনের মাধ্যমে পাইথন চালানোর সাথে পরিচিত না হন।

সম্পর্কিত: কমান্ড প্রম্পট (সিএমডি) কমান্ডগুলি আপনাকে অবশ্যই জানতে হবে

দ্য shutil.copy পদ্ধতি সোর্স ফাইলের মেটাডেটা কপি করে না। মোটকথা, আপনার মেশিনটি গন্তব্য ফাইলটিকে সম্পূর্ণরূপে একটি নতুন হিসাবে দেখে এবং এটিকে নতুন মেটাডেটা দেয়।

যাইহোক, মূল ফাইলের সাথে মেটাডেটা কপি করতে, ব্যবহার করুন shutil.copy2 পদ্ধতি:

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

উপরের পদ্ধতিটি গন্তব্য ফাইলে পুরানো ফাইলের মূল মেটাডেটা সংরক্ষণ করে। উদাহরণস্বরূপ, গন্তব্য ফাইলটি আপনার উত্স ফাইল, তার আকার এবং অন্যান্য বৈশিষ্ট্য তৈরি করার তারিখটি ধরে রাখে।

দ্য follow_symlinks যুক্তি হল একটি প্রতীকী লিঙ্ক ঘোষণা যা দেয় শাটিল একটি পরম পথ অনুসরণ করুন অতএব উৎস এবং গন্তব্য ফাইলগুলি যদি আলাদা আলাদা ডিরেক্টরিতে থাকে তবে আপনাকে এটি অন্তর্ভুক্ত করতে হবে।

কিন্তু যদি উভয় ফাইল আপনার বর্তমান কার্যকরী ডিরেক্টরিতে থাকে, তাহলে আপনাকে একটি অন্তর্ভুক্ত করতে হবে না follow_symlinks । যদি আপনি করেন, পাইথন একটি সিনট্যাক্স ব্যতিক্রম উত্থাপন করে।

প্রাপ্তবয়স্কদের জন্য অভিশাপ লেখার অনুশীলন পত্রক

সুতরাং, যদি আপনি আপনার বর্তমান ওয়ার্কিং ডিরেক্টরিতে সোর্স ফাইল পেস্ট করছেন, আপনার কোডটি এইরকম হওয়া উচিত:

import shutil
shutil.copy2(sourceFile, destinationFile)

উপরের শুটিল পদ্ধতিগুলি ব্যবহার করার পাশাপাশি, আপনিও ব্যবহার করতে পারেন shutil.copyfile অথবা shutil.copyfileobj

ব্যবহার shutil.copyfileobj এটি কিছুটা ভিন্ন কারণ এটি অন্তর্নির্মিত প্রয়োজন খোলা ফাংশন তারপরে, আপনাকে বাইনারি পড়তে এবং লিখতে হবে 'আরবি' এবং '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.system () উইন্ডোজে পদ্ধতি:

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

আপনি অন্তর্নির্মিত ব্যবহার করতে পারেন এক্সকপি উইন্ডোজ টার্মিনাল কমান্ড:

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

ব্যবহার করতে ওএস সিস্টেম লিনাক্সে পদ্ধতি, প্রতিস্থাপন করুন কপি সঙ্গে cp :

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

কিভাবে os.popen পদ্ধতি ব্যবহার করে ফাইল কপি করবেন

এই পদ্ধতিটি ব্যবহার করতে, প্রতিস্থাপন করুন os.system () সঙ্গে os.popen ()

উইন্ডোজে, ব্যবহার করুন:

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

যেমনটা আমরা করেছি os.system () , প্রতিস্থাপন করুন কপি সঙ্গে cp লিনাক্সে এই পদ্ধতিটি ব্যবহার করতে:

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

কিভাবে পাইথনের সাবপ্রসেস মডিউল দিয়ে ফাইল কপি করবেন

উপরের পদ্ধতি ছাড়াও, আপনি ব্যবহার করতে পারেন উপপ্রক্রিয়া () পাইথনে ফাইল কপি করার জন্য লাইব্রেরি:

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

যাইহোক, লিনাক্সে, ব্যবহার করুন:

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)

লিনাক্সে, প্রতিস্থাপন করুন কপি সঙ্গে cp :

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

যাইহোক, ওএস পদ্ধতির মতো, সাবপ্রসেস পদ্ধতিগুলি শুধুমাত্র আপনার বর্তমান ওয়ার্কিং ডিরেক্টরিতে ফাইলগুলির সাথে কাজ করে।

বিঃদ্রঃ: আপনি একটি ফোল্ডারে ফাইলগুলি অনুলিপি করতে পারেন যদি এটি সোর্স ফাইলের মতো একই কার্যকরী ডিরেক্টরিতে থাকে। আপনাকে যা করতে হবে তা হল গন্তব্য ফাইলের নামটি গন্তব্য ফোল্ডারের নামের সাথে প্রতিস্থাপন করুন। যাইহোক, নিশ্চিত করুন যে গন্তব্য ফোল্ডার এবং সোর্স ফাইল আপনার বর্তমান কার্যকরী ডিরেক্টরিতে রয়েছে।

লাইব্রেরি ব্যবহার না করে কিভাবে পাইথনে ফাইল কপি করবেন

আপনি কোনও লাইব্রেরির উপর নির্ভর না করে পাইথনে ফাইলগুলি অনুলিপি করতে পারেন। শাটল পদ্ধতির মতো, আপনার কেবল উৎস এবং গন্তব্য ডিরেক্টরিগুলির সম্পূর্ণ পথ প্রয়োজন।

নেটফ্লিক্স আমার তালিকায় যোগ করতে পারে না

এটি কীভাবে অর্জন করা যায় তা এখানে:

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)

এটাই. আপনি কোন লাইব্রেরি ব্যবহার না করেই পাইথনের সাথে একটি পুনusব্যবহারযোগ্য ফাইল কপিয়ার তৈরি করেছেন।

পাইথনের সাহায্যে স্বয়ংক্রিয় কাজগুলি চালিয়ে যান

প্রজেক্ট তৈরির সময় আপনার কোডে মনোনিবেশ করতে সাহায্য করার পাশাপাশি, পাইথনের সাথে ফাইল কপি করা আপনাকে পাইথনের সাথে ফাইল ম্যানেজমেন্টকে আরও ভালভাবে বুঝতে দেয়। যাইহোক, পাইথন টাস্ক নিয়ে খেলা করা আপনার পাইথন দক্ষতা উন্নত করার একটি উপায়, বিশেষ করে যদি আপনি একজন শিক্ষানবিশ হন।

উদাহরণস্বরূপ, আপনি ওএস মডিউল দিয়ে আপনার পিসিতে তারিখ এবং সময় পরিবর্তন করতে পারেন। আপনি চাইলে পাইথনের সাথে কাস্টম ব্যাশ কমান্ডও লিখতে পারেন।

শেয়ার করুন শেয়ার করুন টুইট ইমেইল কিভাবে ক্লিক করে পাইথনে আপনার নিজের কমান্ড লাইন প্রোগ্রাম তৈরি করবেন

আপনার নিজের পাইথন কমান্ড লাইন প্রোগ্রাম করতে চান কিন্তু এটি খুব কঠিন? আপনার কোড স্ট্রিমলাইন করার জন্য একটি দরকারী পাইথন টুল ক্লিক ব্যবহার করুন।

পরবর্তী পড়ুন
সম্পর্কিত বিষয়
  • প্রোগ্রামিং
  • পাইথন
লেখক সম্পর্কে ইডিসু ওমিসোলা(94 নিবন্ধ প্রকাশিত)

আইডোউ স্মার্ট প্রযুক্তি এবং উত্পাদনশীলতা সম্পর্কে উত্সাহী। তার অবসর সময়ে, তিনি বিরক্তিকর যখন কোডিং এবং দাবা বোর্ডে স্যুইচ করে ঘুরে বেড়ান, তবে তিনি একবারে রুটিন থেকে বিরত থাকতে পছন্দ করেন। মানুষকে আধুনিক প্রযুক্তির পথ দেখানোর জন্য তার আবেগ তাকে আরও লেখার জন্য অনুপ্রাণিত করে।

Idowu Omisola থেকে আরো

আমাদের নিউজলেটার সদস্যতা

প্রযুক্তি টিপস, রিভিউ, ফ্রি ইবুক এবং এক্সক্লুসিভ ডিলের জন্য আমাদের নিউজলেটারে যোগ দিন!

সাবস্ক্রাইব করতে এখানে ক্লিক করুন