الأحد، 22 ديسمبر 2019

التعامل مع الملفات الإدخال والإخراج في بايثون بيثون Python Files I/O

التعامل مع الملفات الإدخال والإخراج في بايثون بيثون 

Python Files I/O

التعامل مع الملفات الإدخال والإخراج في بايثون بيثون Python Files I/O

يغطي هذا الفصل جميع وظائف ملفات I / O الأساسية المتاحة في بيثون.  لمزيد من الوظائف ، يرجى الرجوع إلى وثائق بيثون القياسية. I/O الكتابة على الملفات والقراءة والحذف وانشاء ملفات واعطاء الصلاحيات والتخويلات.

Printing to the Screen الطباعة على الشاشة

إن أبسط طريقة لإنتاج الإخراج هي باستخدام عبارة الطباعة حيث يمكنك تمرير تعبيرات صفرية أو أكثر مفصولة بفواصل.  تقوم هذه الوظيفة بتحويل التعبيرات التي تمررها إلى سلسلة وتكتب النتيجة إلى الإخراج القياسي كما يلي -

#!/usr/bin/python

print "Python is really a great language,", "isn't it?"
ينتج عن هذا النتيجة التالية على شاشتك الافتراضية -
Python is really a great language, isn't it?  

 Reading Keyboard Input قراءة إدخال لوحة المفاتيح

 − يوفر Python وظيفتين مضمنتين لقراءة سطر من النص من الإدخال القياسي ، والذي يأتي افتراضيًا من لوحة المفاتيح.  هذه الوظائف هي
  • raw_input
  • input

The raw_input Function وظيفة raw_input

تقرأ الدالة raw_input ([موجه]) سطرًا واحدًا من الإدخال القياسي وتعيده كسلسلة (إزالة السطر الجديد المتقادم).
#!/usr/bin/python

str = raw_input("Enter your input: ")
print "Received input is : ", str
هذا موجه لك إدخال إيني سلسلة و هود عرض نفس سلسلة على الشاشة. عندما تكون في "هيلو بيثون!"، إخراج الجليد مثل هذا -

Enter your input: Hello Python
Received input is :  Hello Python

The input Function وظيفة الإدخال

الدالة ([promp]) يعادل RAW_INPut، باستثناء أنه يتحمل الإدخال هو تعبير بيثون صالح وإرجاع النتيجة المقيئة لك.
#!/usr/bin/python

str = input("Enter your input: ")
print "Received input is : ", str
هذا من شأنه أن ينتج النتيجة التالية مقابل المدخلات المدخلة -

Enter your input: [x*5 for x in range(2,10,2)]
Recieved input is :  [10, 20, 30, 40]

Opening and Closing Files فتح وإغلاق الملفات

حتى الآن ، كنت تقرأ وتكتب على المدخلات والمخرجات القياسية.  الآن ، سوف نرى كيفية استخدام ملفات البيانات الفعلية.

 يوفر Python الوظائف الأساسية والأساليب اللازمة لمعالجة الملفات افتراضيًا.  يمكنك القيام بمعظم معالجة الملف باستخدام كائن ملف.

The open Function وظيفة مفتوحة

قبل أن تتمكن من قراءة أو كتابة ملف ، يجب عليك فتحه باستخدام وظيفة open () المضمنة في Python.  تقوم هذه الوظيفة بإنشاء كائن ملف ، والذي سيتم استخدامه لاستدعاء طرق الدعم الأخرى المرتبطة به.

الصيغة Syntax

file object = open(file_name [, access_mode][, buffering])
هنا تفاصيل المعلمة -

 file_name - وسيطة file_name هي قيمة سلسلة تحتوي على اسم الملف الذي تريد الوصول إليه.

 access_mode - يحدد access_mode الوضع الذي تم فتح الملف به ، أي القراءة والكتابة والإلحاق ، إلخ. ترد قائمة كاملة بالقيم المحتملة أدناه في الجدول.  هذه معلمة اختيارية ويتم قراءة وضع الوصول إلى الملفات الافتراضي (r).

 التخزين المؤقت - إذا تم تعيين قيمة التخزين المؤقت إلى 0 ، فلن يحدث أي تخزين مؤقت.  إذا كانت قيمة التخزين المؤقت هي 1 ، يتم تنفيذ التخزين المؤقت للسطر أثناء الوصول إلى ملف.  إذا قمت بتحديد قيمة التخزين المؤقت كعدد صحيح أكبر من 1 ، فسيتم تنفيذ إجراء التخزين المؤقت بحجم المخزن المؤقت المشار إليه.  إذا كان سالبًا ، يكون حجم المخزن المؤقت هو النظام الافتراضي (السلوك الافتراضي).

 فيما يلي قائمة بالأنماط المختلفة لفتح الملف -
الرقم.الوضع والحالة
1
r
يفتح ملف للقراءة فقط.  يتم وضع مؤشر الملف في بداية الملف.  هذا هو الوضع الافتراضي.
2
rb
يفتح ملف للقراءة فقط بالتنسيق الثنائي.  يتم وضع مؤشر الملف في بداية الملف.  هذا هو الوضع الافتراضي.
3
r+
يفتح ملفًا للقراءة والكتابة.  وضع مؤشر الملف في بداية الملف.
4
rb+
يفتح ملفًا للقراءة والكتابة بتنسيق ثنائي.  وضع مؤشر الملف في بداية الملف.
5
w
يفتح ملف للكتابة فقط.  الكتابة فوق الملف في حالة وجود الملف.  إذا كان الملف غير موجود ، فقم بإنشاء ملف جديد للكتابة.
6
wb
يفتح ملف للكتابة فقط بالتنسيق الثنائي.  الكتابة فوق الملف في حالة وجود الملف.  إذا كان الملف غير موجود ، فقم بإنشاء ملف جديد للكتابة.
7
w+
يفتح ملفًا للكتابة والقراءة.  الكتابة فوق الملف الموجود في حالة وجود الملف.  إذا كان الملف غير موجود ، فقم بإنشاء ملف جديد للقراءة والكتابة.
8
wb+
يفتح ملفًا للكتابة والقراءة بالتنسيق الثنائي.  الكتابة فوق الملف الموجود في حالة وجود الملف.  إذا كان الملف غير موجود ، فقم بإنشاء ملف جديد للقراءة والكتابة.
9
a
يفتح ملفًا للإلحاق.  مؤشر الملف في نهاية الملف في حالة وجود الملف.  وهذا هو ، الملف في وضع إلحاقي.  إذا كان الملف غير موجود ، فإنه ينشئ ملفًا جديدًا للكتابة.
10
ab
يفتح ملفًا للإلحاق بتنسيق ثنائي.  مؤشر الملف في نهاية الملف في حالة وجود الملف.  وهذا هو ، الملف في وضع إلحاقي.  إذا كان الملف غير موجود ، فإنه ينشئ ملفًا جديدًا للكتابة.
11
a+
يفتح ملفًا لكل من الإلحاق والقراءة.  مؤشر الملف في نهاية الملف في حالة وجود الملف.  يفتح الملف في وضع الإلحاق.  إذا كان الملف غير موجود ، فإنه ينشئ ملفًا جديدًا للقراءة والكتابة.
12
ab+
يفتح ملفًا لكل من الإلحاق والقراءة بالتنسيق الثنائي.  مؤشر الملف في نهاية الملف في حالة وجود الملف.  يفتح الملف في وضع الإلحاق.  إذا كان الملف غير موجود ، فإنه ينشئ ملفًا جديدًا للقراءة والكتابة.

The file Object Attributes

خصائص كائن الملف
بمجرد فتح ملف ولديك كائن ملف واحد ، يمكنك الحصول على معلومات متنوعة متعلقة بهذا الملف.

 فيما يلي قائمة بجميع السمات المتعلقة بكائن الملف -
الرقمالخاصية والوصف
1
file.closed
إرجاع صحيح إذا تم إغلاق الملف ، خطأ خلاف ذلك.
2
file.mode
إرجاع وضع الوصول الذي تم فتح الملف به.
3
file.name
إرجاع اسم الملف.
4
file.softspace
يُرجع الخطأ إذا كانت المساحة مطلوبة صراحةً مع الطباعة ، فهذا صحيح.

مثال Example


#!/usr/bin/python

# Open a file
fo = open("foo.txt", "wb")
print "Name of the file: ", fo.name
print "Closed or not : ", fo.closed
print "Opening mode : ", fo.mode
print "Softspace flag : ", fo.softspace
مخرجات الكود  −
Name of the file:  foo.txt
Closed or not :  False
Opening mode :  wb
Softspace flag :  0

The close() Method دالة الإغلاق 

تقوم طريقة الإغلاق () الخاصة بكائن الملف بمسح أي معلومات غير مكتوبة وإغلاق كائن الملف الذي لا يمكن بعده القيام بالكتابة.

 يقوم Python بإغلاق ملف تلقائيًا عند إعادة تعيين الكائن المرجعي للملف إلى ملف آخر.  من الممارسات الجيدة استخدام طريقة الإغلاق () لإغلاق ملف.

الصغة Syntax

fileObject.close()

مثال Example


#!/usr/bin/python

# Open a file
fo = open("foo.txt", "wb")
print "Name of the file: ", fo.name

# Close opend file
fo.close()

مخرجات 
Name of the file:  foo.txt

Reading and Writing Filesقراءة وكتابة الملفات 

يوفر كائن الملف مجموعة من طرق الوصول لجعل حياتنا أسهل.  سنرى كيفية استخدام أساليب القراءة () والكتابة () لقراءة الملفات وكتابتها.

The write() Method دالة الكتابة

أسلوب الكتابة () يكتب أي سلسلة إلى ملف مفتوح.  من المهم ملاحظة أن سلاسل Python يمكن أن تحتوي على بيانات ثنائية وليس نصًا فقط.

 لا تضيف طريقة الكتابة () حرف السطر الجديد ('\ n') إلى نهاية السلسلة -

الصيغة Syntax

fileObject.write(string)
هنا ، المعلمة التي تم تمريرها هي المحتوى الذي سيتم كتابته في الملف المفتوح.

مثال Example

#!/usr/bin/python

# Open a file
fo = open("foo.txt", "wb")
fo.write( "Python is a great language.\nYeah its great!!\n")

# Close opend file
fo.close()
ستنشئ الطريقة أعلاه ملف foo.txt وستكتب محتوى معطى في هذا الملف ، وأخيراً ستغلق هذا الملف.  إذا قمت بفتح هذا الملف ، فسيحتوي على المحتوى التالي.

Python is a great language.
Yeah its great!!

The read() Method دالة القراءة 

يقرأ الأسلوب read () سلسلة من ملف مفتوح.  من المهم ملاحظة أن سلاسل بايثون يمكن أن تحتوي على بيانات ثنائية.  منفصلة عن البيانات النصية.

الصيغة Syntax

fileObject.read([count])


مثال Example

لنأخذ ملف foo.txt ، الذي أنشأناه أعلاه.
#!/usr/bin/python

# Open a file
fo = open("foo.txt", "r+")
str = fo.read(10);
print "Read String is : ", str
# Close opend file
fo.close()
هذا ينتج النتيجة التالية -
Read String is :  Python is

File Positions مواقف الملف

يخبرك الأسلوب tell () الموضع الحالي داخل الملف ؛  بمعنى آخر ، ستحدث القراءة أو الكتابة التالية عند هذا العدد الكبير من البايتات من بداية الملف.

 تغيير أسلوب البحث (إزاحة [، من]) موضع الملف الحالي.  تشير وسيطة الإزاحة إلى عدد البايتات المطلوب نقلها.  تحدد الوسيطة from موضع المرجع الذي سيتم نقل وحدات البايت منه.

 إذا تم تعيينها على 0 ، فهذا يعني استخدام بداية الملف كموضع مرجعي و 1 يعني استخدام الموضع الحالي كموضع مرجعي وإذا تم تعيينه على 2 فسيتم اعتبار نهاية الملف كموضع مرجعي  .

مثال Example

لنأخذ ملف foo.txt ، الذي أنشأناه أعلاه.
#!/usr/bin/python

# Open a file
fo = open("foo.txt", "r+")
str = fo.read(10)
print "Read String is : ", str

# Check current position
position = fo.tell()
print "Current file position : ", position

# Reposition pointer at the beginning once again
position = fo.seek(0, 0);
str = fo.read(10)
print "Again read String is : ", str
# Close opend file
fo.close()
هذا ينتج النتيجة التالية -

Read String is :  Python is
Current file position :  10
Again read String is :  Python is

Renaming and Deleting Files إعادة تسمية وحذف الملفات

توفر الوحدة النمطية Python os طرقًا تساعدك في إجراء عمليات معالجة الملفات ، مثل إعادة تسمية الملفات وحذفها.

 لاستخدام هذه الوحدة ، تحتاج إلى استيرادها أولاً ثم يمكنك استدعاء أي وظائف ذات صلة.

The rename() Method طريقة إعادة تسمية ()

تأخذ أسلوب rename () وسيطين ، اسم الملف الحالي واسم الملف الجديد.

الصيغة Syntax

os.rename(current_file_name, new_file_name)
مثال Example
فيما يلي مثال لإعادة تسمية ملف موجود test1.txt -
#!/usr/bin/python
import os

# Rename a file from test1.txt to test2.txt
os.rename( "test1.txt", "test2.txt" )

The remove() Method دالة الازالة 

يمكنك استخدام طريقة remove () لحذف الملفات عن طريق توفير اسم الملف المراد حذفه كوسيطة.

الصيغة Syntax

os.remove(file_name)
مثال Example
فيما يلي مثال لحذف ملف موجود test2.txt -
#!/usr/bin/python
import os

# Delete file test2.txt
os.remove("text2.txt")

Directories in Python الدلائل في بيثون

جميع الملفات مضمنة في أدلة مختلفة ، وليس لدى Python مشكلة في التعامل معها أيضًا.  تحتوي الوحدة النمطية os على العديد من الطرق التي تساعدك في إنشاء الدلائل وإزالتها وتغييرها.

The mkdir() Method

يمكنك استخدام طريقة mkdir () لوحدة os لإنشاء الدلائل في الدليل الحالي.  تحتاج إلى توفير وسيطة لهذه الطريقة التي تحتوي على اسم الدليل المراد إنشاؤه.

الصيغة Syntax

os.mkdir("newdir")


 مثال Example

فيما يلي مثال لإنشاء اختبار دليل في الدليل الحالي -
#!/usr/bin/python
import os

# Create a directory "test"
os.mkdir("test")

The chdir() Method مثال على دالة تغير المسار

يمكنك استخدام طريقة chdir () لتغيير الدليل الحالي.  تأخذ طريقة chdir () وسيطة ، وهو اسم الدليل الذي تريد إنشاء الدليل الحالي.

الصيغة Syntax

os.chdir("newdir")


مثال Example

فيما يلي مثال للذهاب إلى دليل "/ home / newdir" -
#!/usr/bin/python
import os

# Changing a directory to "/home/newdir"
os.chdir("/home/newdir")

The getcwd() Method

تعرض طريقة getcwd () دليل العمل الحالي.

الصيغة Syntax

os.getcwd()
مثال Example

#!/usr/bin/python
import os

# This would give location of the current directory
os.getcwd()

The rmdir() Method وزارة المسار 

يحذف الأسلوب rmdir () الدليل ، والذي يتم تمريره كوسيطة في الطريقة.

 قبل إزالة الدليل ، يجب إزالة جميع محتوياته.

الصيغة Syntax

os.rmdir('dirname')

مثال Example

فيما يلي مثال لإزالة الدليل "/ tmp / test".  يجب تقديم اسم مؤهل بالكامل للدليل ، وإلا فإنه سيبحث عن هذا الدليل في الدليل الحالي.
#!/usr/bin/python
import os

# This would  remove "/tmp/test"  directory.
os.rmdir( "/tmp/test"  )

File & Directory Related Methods الدوال المتعلقة بالملف والمجلدات 

−هناك ثلاثة مصادر مهمة توفر مجموعة واسعة من طرق الأداة المساعدة للتعامل مع الملفات والدلائل على أنظمة تشغيل Windows و Unix.  هم على النحو التالي
  • File Object Methods: يوفر كائن الملف وظائف لمعالجة الملفات.
  • OS Object Methods: يوفر هذا طرقًا لمعالجة الملفات وكذلك الدلائل.






التسميات: