ob-vaults/Phoenix/Python/Read Text File in Python.md
2024-09-12 17:54:01 +03:30

82 lines
2.8 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

status: #doc
Tags: #python #programming
links:[[python]] [[python/text]]
Date: 2023-04-30
___
# Read Text File in Python
## TL;DR
reading file and make list of lines of it
```python
with open('readme.txt') as f:
lines = f.readlines()
```
## using open function
* first you must open a file with open function like this
```python
f = open("demofile.txt", "r")
```
OR
```python
with open('readme.txt', "r") as f:
```
open() return a file object that must go to file object in here we use `{f}` for storage , argument are
* first arg is file path
* second arg is open mode
### open modes
open function have different modes (second arg)that can be seen [here](https://www.w3schools.com/python/ref_func_open.asp) but 4 most important are
- `"r"` - Read - Default value. Opens a file for reading, error if the file does not exist
- `"a"` - Append - Opens a file for appending, creates the file if it does not exist
- `"w"` - Write - Opens a file for writing, creates the file if it does not exist
- `"x"` - Create - Creates the specified file, returns an error if the file exist
### file object usage
we can use file object with its [methods](https://www.w3schools.com/python/python_ref_file.asp) most common in use are
- [`read()`](https://www.w3schools.com/python/ref_file_read.asp) - Returns all of the file content
- [`readline()`](https://www.w3schools.com/python/ref_file_readline.asp) - Returns one line from the file
- [`readlines()` ](https://www.w3schools.com/python/ref_file_readlines.asp)- Returns a list of lines from the file
usage example :
```python
f = open("demofile.txt", "r")
print(f.read())
```
##  close() method
The file that you open will remain open until you close it using the `close()` method.
Its important to close the file that is no longer in use for the following reasons:
- First, when you open a file in your script, the file system usually locks it down so no other programs or scripts can use it until you close it.
- Second, your file system has a limited number of file descriptors that you can create before it runs out of them. Although this number might be high, its possible to open a lot of files and deplete your file system resources.
- Third, leaving many files open may lead to race conditions which occur when multiple [processes](https://www.pythontutorial.net/python-concurrency/differences-between-processes-and-threads/) attempt to modify one file at the same time and can cause all kinds of unexpected behaviors.
The following shows how to call the `close()` method to close the file:
```python
f.close()
```
To close the file automatically without calling the `close()` method, you use the `with` statement like this:
```python
with open(path_to_file) as f:
contents = f.readlines()
```
---
# References
https://www.pythontutorial.net/python-basics/python-read-text-file/