{"id":15195445,"url":"https://github.com/milaan9/05_python_files","last_synced_at":"2025-04-06T13:10:28.293Z","repository":{"id":41281591,"uuid":"378167328","full_name":"milaan9/05_Python_Files","owner":"milaan9","description":"Python too supports file handling and allows users to handle files i.e., to read and write files, along with many other file handling options, to operate on files. The concept of file handling has stretched over various other languages, but the implementation is either complicated or lengthy, but like other concepts of Python, this concept here is also easy and short. Python treats files differently as text or binary and this is important.","archived":false,"fork":false,"pushed_at":"2022-12-09T21:04:20.000Z","size":2254,"stargazers_count":228,"open_issues_count":12,"forks_count":235,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-30T12:09:25.760Z","etag":null,"topics":["exception-handling","exceptions","file-directory","file-exception","file-exception-handeling","file-handling","file-input-output","ipython","ipython-notebook","python-files","python-tutor","python-tutorial-github","python-tutorial-notebook","python-tutorials","python4beginner","python4datascience","python4everybody","pythontutorial","tutor-milaan9","userdefined-exceptions"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/milaan9.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-06-18T13:58:34.000Z","updated_at":"2025-03-21T01:34:11.000Z","dependencies_parsed_at":"2023-01-25T21:45:34.603Z","dependency_job_id":null,"html_url":"https://github.com/milaan9/05_Python_Files","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/milaan9%2F05_Python_Files","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/milaan9%2F05_Python_Files/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/milaan9%2F05_Python_Files/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/milaan9%2F05_Python_Files/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/milaan9","download_url":"https://codeload.github.com/milaan9/05_Python_Files/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247485287,"owners_count":20946398,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["exception-handling","exceptions","file-directory","file-exception","file-exception-handeling","file-handling","file-input-output","ipython","ipython-notebook","python-files","python-tutor","python-tutorial-github","python-tutorial-notebook","python-tutorials","python4beginner","python4datascience","python4everybody","pythontutorial","tutor-milaan9","userdefined-exceptions"],"created_at":"2024-09-27T23:23:42.520Z","updated_at":"2025-04-06T13:10:28.262Z","avatar_url":"https://github.com/milaan9.png","language":"Jupyter Notebook","readme":"\u003cp align=\"center\"\u003e \n\u003ca href=\"https://github.com/milaan9\"\u003e\u003cimg src=\"https://img.shields.io/static/v1?logo=github\u0026label=maintainer\u0026message=milaan9\u0026color=ff3300\" alt=\"Last Commit\"/\u003e\u003c/a\u003e \n\u003c!--\u003cimg src=\"https://badges.pufler.dev/created/milaan9/05_Python_Files\" alt=\"Created\"/\u003e--\u003e\n\u003c!--\u003ca href=\"https://github.com/milaan9/05_Python_Files/graphs/commit-activity\"\u003e\u003cimg src=\"https://img.shields.io/github/last-commit/milaan9/05_Python_Files.svg?colorB=ff8000\u0026style=flat\" alt=\"Last Commit\"/\u003e \u003c/a\u003e--\u003e\n\u003ca href=\"https://github.com/milaan9/05_Python_Files/pulse\" alt=\"Activity\"\u003e\u003cimg src=\"https://img.shields.io/github/commit-activity/m/milaan9/05_Python_Files.svg?colorB=teal\u0026style=flat\" /\u003e\u003c/a\u003e \n\u003ca href=\"https://hits.seeyoufarm.com\"\u003e\u003cimg src=\"https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2Fmilaan9%2F05_Python_Files\u0026count_bg=%231DC92C\u0026title_bg=%23555555\u0026icon=\u0026icon_color=%23E7E7E7\u0026title=views\u0026edge_flat=false\"/\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/milaan9/05_Python_Files/stargazers\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/milaan9/05_Python_Files.svg?colorB=1a53ff\" alt=\"Stars Badge\"/\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/milaan9/05_Python_Files/network/members\"\u003e\u003cimg src=\"https://img.shields.io/github/forks/milaan9/05_Python_Files\" alt=\"Forks Badge\"/\u003e \u003c/a\u003e\n\u003cimg src=\"https://img.shields.io/github/repo-size/milaan9/05_Python_Files.svg?colorB=CC66FF\u0026style=flat\" alt=\"Size\"/\u003e\n\u003ca href=\"https://github.com/milaan9/05_Python_Files/pulls\"\u003e\u003cimg src=\"https://img.shields.io/github/issues-pr/milaan9/05_Python_Files.svg?colorB=yellow\u0026style=flat\" alt=\"Pull Requests Badge\"/\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/milaan9/05_Python_Files/issues\"\u003e\u003cimg src=\"https://img.shields.io/github/issues/milaan9/05_Python_Files.svg?colorB=yellow\u0026style=flat\" alt=\"Issues Badge\"/\u003e\u003c/a\u003e\n\u003cimg src=\"https://img.shields.io/github/languages/top/milaan9/05_Python_Files.svg?colorB=996600\u0026style=flat\" alt=\"Language\"/\u003e\u003c/a\u003e \n\u003ca href=\"https://github.com/milaan9/05_Python_Files/blob/main/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/License-MIT-blueviolet.svg\" alt=\"MIT License\"/\u003e\u003c/a\u003e\n\u003c/p\u003e \n\u003c!--\u003cimg src=\"https://badges.pufler.dev/contributors/milaan9/01_Python_Introduction?size=50\u0026padding=5\u0026bots=true\" alt=\"milaan9\"/\u003e--\u003e\n\n\u003cp align=\"center\"\u003e \n\u003ca href=\"https://mybinder.org/v2/gh/milaan9/05_Python_Files/HEAD\"\u003e\u003cimg src=\"https://mybinder.org/badge_logo.svg\" alt=\"binder\"/\u003e\u003c/a\u003e\n\u003ca href=\"https://githubtocolab.com/milaan9/05_Python_Files\"\u003e\u003cimg src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"colab\"/\u003e\u003c/a\u003e\n\u003c/p\u003e    \n \n# 05_Python_Files\n\n## Introduction 👋\n\nPython file I/O (a.k.a File handling) is one of the essential topics for programmers and automation testers. It is required to work with files for either writing to a file or read data from it.\n\nAlso, if you are not already aware, I/O operations are the costliest operations where a program can stumble. Hence, you should be quite careful while implementing file handling for reporting or any other purpose. Optimizing a single file operation can help you produce a high-performing application or a robust solution for automated software testing.\n\nIn Python, file processing takes place in the following order.\n\n* Open a file that returns a filehandle.\n* Use the handle to perform read or write action.\n* Close the filehandle.\n\nBefore you do a read or write operation to a file in Python, you need to open it first. And as the read/write transaction completes, you should close it to free the resources tied with the file.\n\n---\n\n## Table of contents 📋\n\n| **No.** | **Name** | \n| ------- | -------- | \n| 01 | **[Python_File_Input_Output](https://github.com/milaan9/05_Python_Files/blob/main/001_Python_File_Input_Output.ipynb)** |\n| 02 | **[Python_File_Directory](https://github.com/milaan9/05_Python_Files/blob/main/002_Python_File_Directory.ipynb)** |\n| 03 | **[Python_File_Exception](https://github.com/milaan9/05_Python_Files/blob/main/003_Python_File_Exception.ipynb)** |\n| 04 | **[Python_Exceptions_Handling](https://github.com/milaan9/05_Python_Files/blob/main/004_Python_Exceptions_Handling.ipynb)** |\n| 05 | **[Python_User_defined_Exceptions](https://github.com/milaan9/05_Python_Files/blob/main/005_Python_User_defined_Exceptions.ipynb)** |\n\nThese are online **read-only** versions. However you can **`Run ▶`**  all the codes **online** by clicking here ➞ \u003ca href=\"https://mybinder.org/v2/gh/milaan9/05_Python_Files/HEAD\"\u003e\u003cimg src=\"https://mybinder.org/badge_logo.svg\" alt=\"binder\"/\u003e\u003c/a\u003e\n\n---\n\n## Frequently asked questions ❔\n\n### How can I thank you for writing and sharing this tutorial? 🌷\n\nYou can \u003cimg src=\"https://img.shields.io/static/v1?label=%E2%AD%90 Star \u0026message=if%20useful\u0026style=style=flat\u0026color=blue\" alt=\"Star Badge\"/\u003e and \u003cimg src=\"https://img.shields.io/static/v1?label=%E2%B5%96 Fork \u0026message=if%20useful\u0026style=style=flat\u0026color=blue\" alt=\"Fork Badge\"/\u003e Starring and Forking is free for you, but it tells me and other people that it was helpful and you like this tutorial.\n\nGo [**`here`**](https://github.com/milaan9/05_Python_Files) if you aren't here already and click ➞ **`✰ Star`** and **`ⵖ Fork`** button in the top right corner. You'll be asked to create a GitHub account if you don't already have one.\n\n---\n\n### How can I read this tutorial without an Internet connection? \u003cimg alt=\"GIF\" src=\"https://github.com/TheDudeThatCode/TheDudeThatCode/blob/master/Assets/hmm.gif\" width=\"20\" /\u003e\n\n1. Go [**`here`**](https://github.com/milaan9/05_Python_Files) and click the big green ➞ **`Code`** button in the top right of the page, then click ➞ [**`Download ZIP`**](https://github.com/milaan9/05_Python_Files/archive/refs/heads/main.zip).\n\n    ![Download ZIP](img/dnld_rep.png)\n\n2. Extract the ZIP and open it. Unfortunately I don't have any more specific instructions because how exactly this is done depends on which operating system you run.\n    \n3. Launch ipython notebook from the folder which contains the notebooks. Open each one of them\n  \n    **`Kernel \u003e Restart \u0026 Clear Output`**\n    \nThis will clear all the outputs and now you can understand each statement and learn interactively.\n\nIf you have git and you know how to use it, you can also clone the repository instead of downloading a zip and extracting it. An advantage with doing it this way is that you don't need to download the whole tutorial again to get the latest version of it, all you need to do is to pull with git and run ipython notebook again.\n\n---\n\n## Authors ✍️\n\nI'm Dr. Milaan Parmar and I have written this tutorial. If you think you can add/correct/edit and enhance this tutorial you are most welcome🙏\n\nSee [github's contributors page](https://github.com/milaan9/05_Python_Files/graphs/contributors) for details.\n\nIf you have trouble with this tutorial please tell me about it by [Create an issue on GitHub](https://github.com/milaan9/05_Python_Files/issues/new). and I'll make this tutorial better. This is probably the best choice if you had trouble following the tutorial, and something in it should be explained better. You will be asked to create a GitHub account if you don't already have one.\n\nIf you like this tutorial, please [give it a ⭐ star](https://github.com/milaan9/05_Python_Files).\n\n---\n\n## Licence 📜\n\nYou may use this tutorial freely at your own risk. See [LICENSE](./LICENSE).\n\n\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmilaan9%2F05_python_files","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmilaan9%2F05_python_files","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmilaan9%2F05_python_files/lists"}