This notebook was prepared by Donne Martin. Source and license info is on GitHub.

Files

  • Read a File
  • Write a File
  • Read and Write UTF-8

Read a File

Open a file in read-only mode.<br> Iterate over the file lines. rstrip removes the EOL markers.<br>

In [1]:
old_file_path = 'type_util.py'
with open(old_file_path, 'r') as old_file:
    for line in old_file:
        print(line.rstrip())
class TypeUtil:

    @classmethod
    def is_iterable(cls, obj):
        """Determines if obj is iterable.

        Useful when writing functions that can accept multiple types of
        input (list, tuple, ndarray, iterator).  Pairs well with
        convert_to_list.
        """
        try:
            iter(obj)
            return True
        except TypeError:
            return False

    @classmethod
    def convert_to_list(cls, obj):
        """Converts obj to a list if it is not a list and it is iterable,
        else returns the original obj.
        """
        if not isinstance(obj, list) and cls.is_iterable(obj):
            obj = list(obj)
        return obj

Write to a file

Create a new file overwriting any previous file with the same name, write text, then close the file:

In [2]:
new_file_path = 'hello_world.txt'
with open(new_file_path, 'w') as new_file:
    new_file.write('hello world!')

Read and Write UTF-8

In [3]:
import codecs
with codecs.open("hello_world_new.txt", "a", "utf-8") as new_file:
    with codecs.open("hello_world.txt", "r", "utf-8") as old_file:                   
        for line in old_file:
            new_file.write(line + '\n')