பைத்தானின் துனையுடன் கோப்புகளைப் படித்தலும் எழுதுதலும்

கணினியில் செயல்படுத்தி பயன்படுத்தி கொள்கின்ற ஒருசில தரவுகள் தற்காலிகமானவைகளாகும், அதாவது எந்தவொரு பயன்பாடும் கணினியில் செயல்படும்போதும் அவை செயல்படுவற்கு தேவையானதரவுகள் RAM எனும் தற்காலிக நினைவகத்தில் சேமிக்கப்படுகின்றன, அக்குறிப்பிட்ட பணிமுடிந்த பின்னர் அவை அப்படியே  கைவிடப்பட்டுவிடுகின்றன. இருப்பினும், ஒருசில தரவுகள்அவ்வாறு கைவிடப்படாமல் தொடர்ந்து தக்கவைத்துகொள்ளவேண்டியுள்ளது. அதற்காக அவ்வாறான தரவுகள் பிற்கால பயன்பாட்டிற்காக  வன்வட்டில் சேமிக்கப்படுகின்றன, மேலும் இவையே  பயனாளர் ஒருவர் அதிகம் அக்கறை கொள்ளும் செயலாக அமைகின்றன. நிரலாளர்களைப் பொறுத்தவரை, கோப்புகளைப் படிக்கவும் எழுதவும் தேவையான குறிமுறைவரிகளை எழுதுவது மிகவும் பொதுவான செயலாகும், ஆனால் ஒவ்வொரு கணினிமொழியும் எந்தவொரு கோப்பினையும் படிக்கின்ற எழுதுகின்ற பணியை ஒவ்வொரு வகையில் சற்றே வித்தியாசமாக கையாளுகின்றன. இந்த கட்டுரை பைத்தான் எனும் கணினி மொழியின் துனையுடன் தரவுகளாலான கோப்புகளை எவ்வாறு கையாளுவது என்பதை விவரிக்கிறது.

இதற்காக முதலில் நம்முடைய கணினியில்பைத்தான் எனும் கணினி மொழியானது பயன்பாட்டில் இல்லாதிருந்தால் பைத்தானை நிறுவுகை செய்திடுக பொதுவாக லினக்ஸ் இயக்கமுறைமையில் பைத்தானானது ஏற்கனவே நிறுவுகை செய்யப்பட்டே இருக்கும். இல்லையென்றால், பின்வரும் கட்டளைவரியின் வாயிலாக நிறுவுகை செய்து கொள்க

$ sudo dnf install python3

. விண்டோஇயக்கமுறைமையெனில், Chocolatey.என்பதிலிருந்து பைத்தானை நிறுவுகைசெய்திடுக.  பைதானை நிறுவுகை செய்தவுடன், நமக்கு பிடித்த உரை திருத்தியைத் திறந்து குறிமுறைவரிகளை எழுத  தயாராக இருந்திடுக

  1. பைத்தானின் துனையுடன் ஒரு கோப்பில் தரவை எழுதுதல்

பொதுவாக எந்தவொரு கோப்பிலும் தரவை எழுத வேண்டும் எனில், நினைவில் கொள்ள மூன்று படிமுறைகள் பின்வருமாறு: :1.Open,2.Write,3.Close

குறிமுறைவரிகளை எழுதுவதுமட்டுமல்லாமல், உருவப்படங்களை திருத்தம் செய்வது போன்ற கணினியில் எந்தவொரு பணியை செய்யும் போதும் நாம் வழக்கமாக பின்பற்றிவருகின்ற அதே வரிசைமுறையிலிலான  பணிகள்தான் இவை. அதனால் தயக்கமில்லாமல் முதலில், நாம் திருத்த விரும்பும் ஆவணத்தைத் திரையில் தோன்ற ச் செய்திடுக (Open), பின்னர் சில அதில் ஒருசில திருத்தங்களைச் செய்திடுக (Write), அதன்பின்னர் அந்த ஆவணத்தை மூடச். செய்திடுக (Close). பைத்தானில், இதே செயல்முறைகள் பின்வருமாறு மொழிமாற்றம் செய்யப்பட்டுள்ளது:

f = open(‘example.txt’, ‘w’)
f.write(‘hello world’)
f.close()

இந்த எடுத்துக்காட்டில், முதல் வரி ஒரு கோப்பை எழுதுகின்ற வழிமுறையில் திறக்கின்றது(Open). இந்த கோப்பானது f எனும் மாறியால் குறிப்பிடப்படுகிறது, இது ஒரு தன்னிச்சையான தேர்வு. நாம் விரும்பும் வேறு எந்தவொரு எழுத்தினையும் பயன்படுத்திக் கொள்ளலாம், ஆயினும் இந்த f எனும் எழுத்தானது பைதான் குறிமுறைவரிகளில் பொதுவானதாகத் தோன்றுகிறது, ஆனால் வேறுஎந்தவொரு சரியான மாறியின் பெயரும் பைத்தானில் நன்றாக செயல்படுகிறது என்ற தகவலை நினைவில் கொள்க.  பொதுவாக  ஒரு கோப்பைத் திறப்பதற்காகபின்வருமாறு பல்வேறு வழிமுறைகள் உள்ளன:

  • w என்பது எழுதுதலை குறிக்கின்றது
  • r+ என்பது படித்தலையும் எழுதுதலையும் குறிக்கின்றது
  • a என்பது புதியதாக சேர்த்தலை மட்டும் குறிக்கின்றது

எடுத்தகாட்டின் இரண்டாவது வரி கோப்பில் தரவை எழுதுமாறு செய்கிறது. இந்த எடுத்துக்காட்டில் எழுதப்பட்ட தரவு எளிய உரை, ஆனால் நாம் விரும்பினால் வேறுஎந்தவொரு தரவையும் எழுதலாம்.

இறுதி வரி கோப்பை மூடுகின்றது(Close).

with எனும் தொடரியலைபயன்படுத்தி ஒரு கோப்பில் தரவை எழுதுதல்

ஒரு கோப்பில் தரவை எழுத வேறொரு குறுகிய வழிமுறை உள்ளது, மேலும் இந்த வழிமுறையானது கோப்பினை விரைவாக தொடர்புகொள்வதற்கு மிகபயனுள்ளதாக இருக்கும். ஆயினும்இது கோப்பைத் திறந்து விடாது, எனவே எழுதுவதற்காக கோப்பினை திறந்தால்அந்த பணிமுடிந்தவுடன் அந்த கோப்பினை மூடுவதற்காக close()  எனும் செயலியை அழைக்க வேண்டி நினைவில் கொள்ள வேண்டியதில்லை. அதற்கு பதிலாக, இந்த குறுகிய வழிமுறையானது with எனும் தொடரியலை பயன்படுத்திகொள்கிறது:

with open(‘example.txt’, ‘a’) as f:
f.write(‘hello open source’)

2.பைத்தானின் துனையுடன் ஒரு கோப்பிலிருந்து தரவைப் படித்தல்

நாம் (அல்லது நம்முடைய பயனாளர் ஒருவர், நம்முடைய பயன்பாட்டின் மூலம்) தரவை ஒரு கோப்பில் வைத்திருந்தால், நம்முடைய குறிமுறைவரிகளானவை அதை மீட்டெடுத்து படிப்பதற்காக திரையில் காண்பிக்க வேண்டும் எனில், நாம் ஒரு கோப்பைப் படித்தல் பணியானது வழக்கமாக,எழுதுதலைப் போலவே, நினைவில் கொள்ள மூன்று படிமுறைகள் பின்வருமாறு: : 1.Open,2. .Read,3.Close

இந்த தர்க்க செயலானது ஒரு கணினியைப் பயன்படுத்துவதன் மூலம் நமக்கு ஏற்கனவே தெரிந்த செயலைபிரதிபலிக்கிறது (அல்லது  கைகளால்  ஒருபுத்தகத்தை படிப்பதற்காக செயல்படுவதை போன்றதே). எந்தவொரு ஆவணத்தையும் படிப்பதற்காக, முதலில் அதைத் திறந்து(Open), பின்னர் அதைப் படித்து(.Read), இறுதியாக  அதை மூடுகின்றோம்(Close). அதே  அடிப்படையில், கணினியானது ஒரு கோப்பை ” Open ” என்பது நினைவகத்தில் ஏற்றுவதாகும். நடைமுறையில், ஒரு உரை கோப்பில் ஒன்றுக்கு மேற்பட்ட வரிகள் உள்ளன. வழக்கமான நடைமுறையில் நாம் ஒரு முழு  புத்தகத்தை திறக்கும் தருணத்தில்  அதனை படிக்காதது போன்றே, குறிமுறைவரிகள்நினைவகத்தில் ஏற்றப்பட்ட ஒரு கோப்பை அலசி ஆராய வேண்டும். எனவே, கோப்பின் உள்ளடக்கங்களை மறுபரிசீலனை செய்ய வேண்டும். அதற்கான குறிமுறைவரிகள் பின்வருமாறு

f = open(‘example.tmp’, ‘r’)
for line in f:
print(line)
f.close()

இந்த எடுத்துக்காட்டின் குறிமுறைவரிகளின் முதல் வரியில்,  ஒரு கோப்பை படிப்பதற்கான வழி முறையில் திறந்திடுக. இங்கு நாம் படிப்பதற்காக திறக்கின்ற கோப்பு ஆனது  f எனும் மாறியால் குறிக்கப்படுகிறது, ஆனால் நாம் எழுதுவதற்கு கோப்புகளைத் திறக்கும்போது மாறியின் பெயரைகுறிப்பிட்டதை போன்றே இங்கும், மாறியின் பெயர் தன்னிச்சையானது.நம்முடைய விருப்படி என்தவொரு எழுத்தினையும் பயன்படுத்தி கொள்ளலாம் f எனும் எழுத்து பற்றி சிறப்பு எதுவும் இல்லை; ஆயினும் இது ” file ” என்ற சொல்லை பிரதிநிதித்துவப் படுத்துவதற்கான மிகச்சிறிய வழிமுறையாகும், எனவே இது பைதான் நிரலாளர்களால் அதிகம் பயன்படுத்திகொள்ளப்படுகிறது. இரண்டாவது வரியில், f இன் ஒவ்வொரு வரியையும் பிரதிநிதித்துவப்படுத்தும் மற்றொரு தன்னிச்சையான மாறியின் பெயராக முன்பதிவு செய்துவிடுகின்றோம். இது பைத்தானை கோப்பின் உள்ளடக்கங்களுக்கு மேல் வரிசைப்படுத்தி ஒவ்வொரு வரியையும் நம்முடைய வெளியீட்டில் அச்சிடச் சொல்கிறது (இங்கு, முனையம் (terminal) அல்லது IDLE குறித்திடலாம்).

with எனும் தொடரியலை  பயன்படுத்தி ஒரு கோப்பைப் படித்தல்

தரவை எழுதுவது போல, with எனும் தொடரியல் மூலம் கோப்புகளிலிருந்து தரவைப் படிக்கும் ஒரு குறுகிய வழிமுறை உள்ளது. இதற்காக நாம் call()  எனும் செயலியை அழைக்க தேவையில்லை, எனவே இது விரைவான தொடர்புகளுக்கு வசதியாக இருக்கின்றது

with open(‘example.txt’, ‘r’) as f:
for line in f:
print(line)இந்த வழிமுறைமட்டுமல்லாது பைத்தானைப் பயன்படுத்தி  JSON, YAML, TOML என்பன போன்றவற்றைப் பயன்படுத்தி கோப்புகளுக்கு தரவை எழுத பல்வேறு வழிமுறைகள் .மேலும்  graphics, audio, video,போன்றவற்றை உள்ளடக்கிய எந்தவொரு கோப்பு வடிவங்களையும் கையாள SQLite தரவுத்தளத்தையும் பல நூலகங்களையும் உருவாக்க பராமரிக்க  நல்ல உள்ளமைக்கப்பட்ட வழிமுறைகளும் பைத்தானில் உள்ளன.

%d bloggers like this: