Unicode Files
یونیکوڈ فائلوں کو پڑھنے کے لیے سادہ اوپن فنکشن کام نہیں کرتا بلکہ codecs کا اوپن فنکشن استعمال کرنا پڑتا ہے۔
محسن کی ایک غزل جو فائل میں محفوظ ہے ، اسے پائتھون میں پڑھ کر پرنٹ کرتے ہیں۔
ذکرِ شبِ فراق سے وحشت اسے بھی تھی
میری طرح کسی سے محبت اسے بھی تھی
مجھ کو بھی شوق تھا نئے چہروں کی دید کا
رستہ بدل کے چلنے کی عادت اسے بھی تھی
اس رات دیر تک وہ رہا محوِ گفتگو
مصروف میں بھی کم تھا فراغت اسے بھی تھی
سنتا تھا میں بھی سب سے پرانی کہانیاں
تازہ رفاقتوں کی ضرورت اسے بھی تھی
مجھ سے بچھڑ کے شہر میں گھل مل گیا وہ شخص
حالانکہ شہر بھر سے رقابت اسے بھی تھی
وہ مجھ سے بڑھ کے ضبط کا عادی تھا جی گیا
ورنہ ہر ایک سانس قیامت اسے بھی تھی
PHP:
import codecs
import os
#File path is C:\TECHNICAL\PYTHON\Mohsin.txt
FILE = os.path.join("C:",os.sep,"TECHNICAL","PYTHON","Mohsin.txt")
shairfile = codecs.open(FILE, encoding='utf-8')
for line in shairfile:
print(line,end='')
فائل Mohsin.txt کے نام سے C:\TECHNICAL\PYTHON کی ڈائریکٹری میں محفوظ ہے۔
os ماڈیول کے فنکشن جوائن کی مدد سے پورا پاتھ تیار کیا ہے جس میں پہلے سی ڈرائیو پھر جدا ساز (separator ) , اس کے بعد TECHNICAL کی ڈائریکٹری اور پھر PYTHON کی ڈائریکٹر کو جوڑا گیا ہے۔ آخر میں فائل کا نام ہے۔ ماڈیول میں موجود پاتھ اور جوائن فنکشن کی مدد سے ایسے path تیار کرنا خام اسٹرنگ (raw string) کے مقابلے میں زیادہ دیرپا اور مفید ہے۔
فائل کو اوپن کرنے کے لیے codecs کے ماڈیول کا اوپن فنکشن استعمال کیا گیا ہے ، جس میں ایک اضافی دلیل encoding کی دی گئی ہے ۔ utf-8 یونیکوڈ اینکوڈنگ ہے اور زیادہ تر یہی یونیکوڈ لکھنے کے لیے استعمال ہوتی ہے۔
اس کے بعد for لوپ کے ذریعے فائل کو ایک ایک لائن کرکے پڑھا گیا ہے اور پرنٹ کروا لیا گیا ہے (پرنٹ فنکشن کو اضافی خالی لائن پرنٹ کرنے سے روکنے کے لیے end کو خالی اسٹرنگ کے برابر رکھا گیا ہے تاکہ غیرضروری اسپیس اور لائن پرنٹ ہونے سے روکے جا سکیں)۔