File IO in Python

This chapter covers all the basic I/O functions available in Python. For more functions, please refer to standard Python documentation.

Printing to the Screen

The simplest way to produce output is using the print statement where you can pass zero or more expressions separated by commas. This function converts the expressions you pass into a string and writes the result to standard output as follows:

#!/usr/bin/python

print "Python is really a great language,", "isn't it?";

This produces the following result on your standard screen:

Python is really a great language, isn't it?

Reading Keyboard Input

Python provides two built-in functions to read a line of text from standard input, which by default comes from the keyboard. These functions are:

  • raw_input
  • input

The raw_input Function

The raw_input([prompt]) function reads one line from standard input and returns it as a string (removing the trailing newline).

#!/usr/bin/python

str = raw_input("Enter your input: "); print "Received input is : ", str

This prompts you to enter any string and it would display same string on the screen. When I typed "Hello Python!", its output is like this:

Enter your input: Hello Python

Received input is :     Hello Python

The input Function

The input([prompt]) function is equivalent to raw_input, except that it assumes the input is a valid Python expression and returns the evaluated result to you.

#!/usr/bin/python

str = input("Enter your input: "); print "Received input is : ", str

This would produce the following result against the entered input:

Enter your input: [x*5 for x in range(2,10,2)]

Recieved input is :     [10, 20, 30, 40]

Opening and Closing Files

Until now, you have been reading and writing to the standard input and output. Now, we will see how to use actual data files.

Python provides basic functions and methods necessary to manipulate files by default. You can do your most of the file manipulation using a file object.

The open Function

Before you can read or write a file, you have to open it using Python's built-in open()function. This function creates a file object, which would be utilized to call other support methods associated with it.

Syntax

file object = open(file_name [, access_mode][, buffering])

Here are parameter details:

  • file_name: The file_name argument is a string value that contains the name of the file that you want to access.
  • access_mode: The access_mode determines the mode in which the file has to be opened, i.e., read, write, append, etc. A complete list of possible values is given below in the table. This is optional parameter and the default file access mode is read (r).
  • buffering: If the buffering value is set to 0, no buffering takes place. If the buffering value is 1, line buffering is performed while accessing a file. If you specify the buffering value as an integer greater than 1, then buffering action is performed with the indicated buffer size. If negative, the buffer size is the system default (default behavior).

Here is a list of the different modes of opening a file:

Modes Description
r Opens a file for reading only. The file pointer is placed at the beginning of
the file. This is the default mode.
rb Opens a file for reading only in binary format. The file pointer is placed at
the beginning of the file. This is the default mode.
r+ Opens a file for both reading and writing. The file pointer is placed at the
beginning of the file.
rb+ Opens a file for both reading and writing in binary format. The file pointer is
placed at the beginning of the file.
w Opens a file for writing only. Overwrites the file if the file exists. If the file
does not exist, creates a new file for writing.
wb Opens a file for writing only in binary format. Overwrites the file if the file
exists. If the file does not exist, creates a new file for writing.
w+ Opens a file for both writing and reading. Overwrites the existing file if the
file exists. If the file does not exist, creates a new file for reading and writing.
wb+ Opens a file for both writing and reading in binary format. Overwrites the
existing file if the file exists. If the file does not exist, creates a new file for
reading and writing.
a Opens a file for appending. The file pointer is at the end of the file if the file
exists. That is, the file is in the append mode. If the file does not exist, it
creates a new file for writing.
ab Opens a file for appending in binary format. The file pointer is at the end of
the file if the file exists. That is, the file is in the append mode. If the file
does not exist, it creates a new file for writing.
a+ Opens a file for both appending and reading. The file pointer is at the end
of the file if the file exists. The file opens in the append mode. If the file
does not exist, it creates a new file for reading and writing.
ab+ Opens a file for both appending and reading in binary format. The file pointer
is at the end of the file if the file exists. The file opens in the append mode.
If the file does not exist, it creates a new file for reading and writing.

The file Object Attributes

Once a file is opened and you have one file object, you can get various information related to that file. Here is a list of all attributes related to file object:

Attribute Description
file.closed Returns true if file is closed, false otherwise.
file.mode Returns access mode with which file was opened.
file.name Returns name of the file.
file.softspace Returns false if space explicitly required with print, true otherwise.

Example

#!/usr/bin/python

# Open a file

fo = open("foo.txt", "wb")

print "Name of the file: ", fo.name print "Closed or not : ", fo.closed print "Opening mode : ", fo.mode

print "Softspace flag : ", fo.softspace

This produces the following result:

Name of the file:     foo.txt

Closed or not :     False

Opening mode :     wb

Softspace flag :     0

The close() Method

The close() method of a file object flushes any unwritten information and closes the file object, after which no more writing can be done.

Python automatically closes a file when the reference object of a file is reassigned to another file. It is a good practice to use the close() method to close a file.

Syntax

fileObject.close();

Example

#!/usr/bin/python

# Open a file

fo = open("foo.txt", "wb")

print "Name of the file: ", fo.name

# Close opend file

fo.close()

This produces the following result:

Name of the file:     foo.txt

Reading and Writing Files

The file object provides a set of access methods to make our lives easier. We would see how to use read() and write() methods to read and write files.

The write() Method

The write() method writes any string to an open file. It is important to note that Python strings can have binary data and not just text.

The write() method does not add a newline character ('\n') to the end of the string:

Syntax

fileObject.write(string);

Here, passed parameter is the content to be written into the opened file.

Example

#!/usr/bin/python

# Open a file

fo = open("foo.txt", "wb")

fo.write( "Python is a great language.\nYeah its great!!\n");

# Close opend file fo.close()

The above method would create foo.txt file and would write given content in that file and finally it would close that file. If you would open this file, it would have following content.

Python is a great language.

Yeah its great!!

The read() Method

The read() method reads a string from an open file. It is important to note that Python strings can have binary data, apart from text data.

Syntax

fileObject.read([count]);

Here, passed parameter is the number of bytes to be read from the opened file. This method starts reading from the beginning of the file and if count is missing, then it tries to read as much as possible, maybe until the end of file.

Example

Let us take a file foo.txt, which we created above.

#!/usr/bin/python

# Open a file

fo = open("foo.txt", "r+") str = fo.read(10);

print "Read String is : ", str

# Close opend file fo.close()

This produces the following result:

Read String is :     Python is

File Positions

The tell() method tells you the current position within the file; in other words, the next read or write will occur at that many bytes from the beginning of the file.

The seek(offset[, from]) method changes the current file position. The offset argument indicates the number of bytes to be moved. The from argument specifies the reference position from where the bytes are to be moved.

If from is set to 0, it means use the beginning of the file as the reference position and 1 means use the current position as the reference position and if it is set to 2 then the end of the file would be taken as the reference position.

Example

Let us take a file foo.txt, which we created above.

#!/usr/bin/python

# Open a file

fo = open("foo.txt", "r+") str = fo.read(10);

print "Read String is : ", str

  • Check current position position = fo.tell();

print "Current file position : ", position

  • Reposition pointer at the beginning once again position = fo.seek(0, 0);

str = fo.read(10);

print "Again read String is : ", str

  • Close opend file

fo.close()

This produces the following result:

Read String is :     Python is

Current file position :     10

Again read String is :     Python is

Renaming and Deleting Files

Python os module provides methods that help you perform file-processing operations, such as renaming and deleting files.

To use this module you need to import it first and then you can call any related functions.

The rename() Method

The rename() method takes two arguments, the current filename and the new filename.

Syntax

os.rename(current_file_name, new_file_name)

Example

Following is the example to rename an existing file test1.txt:

#!/usr/bin/python import os

# Rename a file from test1.txt to test2.txt os.rename( "test1.txt", "test2.txt" )

The remove() Method

You can use the remove() method to delete files by supplying the name of the file to be deleted as the argument.

Syntax

os.remove(file_name)

Example

Following is the example to delete an existing file test2.txt:

#!/usr/bin/python import os

# Delete file test2.txt os.remove("text2.txt")

Directories in Python

All files are contained within various directories, and Python has no problem handling these too. The os module has several methods that help you create, remove, and change directories.

The mkdir() Method

You can use the mkdir() method of the os module to create directories in the current directory. You need to supply an argument to this method which contains the name of the directory to be created.

Syntax

os.mkdir("newdir")

Example

Following is the example to create a directory test in the current directory:

#!/usr/bin/python import os

# Create a directory "test" os.mkdir("test")

The chdir() Method

You can use the chdir() method to change the current directory. The chdir() method takes an argument, which is the name of the directory that you want to make the current directory.

Syntax

os.chdir("newdir")

Example

Following is the example to go into "/home/newdir" directory:

#!/usr/bin/python import os

# Changing a directory to "/home/newdir" os.chdir("/home/newdir")

The getcwd() Method

The getcwd() method displays the current working directory.

Syntax

os.getcwd()

Example

Following is the example to give current directory:

#!/usr/bin/python import os

# This would give location of the current directory os.getcwd()

The rmdir() Method

The rmdir() method deletes the directory, which is passed as an argument in the method.

Before removing a directory, all the contents in it should be removed.

Syntax

os.rmdir('dirname')

Example

Following is the example to remove "/tmp/test" directory. It is required to give fully qualified name of the directory, otherwise it would search for that directory in the current directory.

#!/usr/bin/python import os

# This would remove "/tmp/test" directory. os.rmdir( "/tmp/test" )

File and Directory Related Methods

There are two important sources, which provide a wide range of utility methods to handle and manipulate files and directories on Windows and Unix operating systems. They are as follows:

File Object Methods: The file object provides functions to manipulate files.

OS Object Methods: This provides methods to process files as well as directories.

A file object is created using open function and here is a list of functions which can be called on this object:

Sr. No.    Methods with Description

1 file.close()
Close the file. A closed file cannot be read or written any more.

file.flush()

  • Flush the internal buffer, like stdio's fflush. This may be a no-op on some file-like objects.
file.fileno()
3 Returns  the  integer  file  descriptor  that  is  used  by  the  underlying
implementation to request I/O operations from the operating system.
4 file.isatty()
Returns True if the file is connected to a tty(-like) device, else False.
5 file.next()
Returnss the next line from the file each time it is being called.
file.read([size])
6 Reads at most size bytes from the file (less if the read hits EOF before
obtaining size bytes).
file.readline([size])
7 Reads one entire line from the file. A trailing newline character is kept in the
string.
file.readlines([sizehint])
Reads until EOF using readline() and return a list containing the lines. If the
8 optional sizehint argument is present, instead of reading up to EOF, whole
lines totalling approximately sizehint bytes (possibly after rounding up to an
internal buffer size) are read.
9 file.seek(offset[,whence])
Sets the file's current position.
10 file.tell()
Returns the file's current position
file.truncate([size])
11 Truncates the file's size. If the optional size argument is present, the file is
truncated to (at most) that size.
12 file.write(str)
Writes a string to the file. There is no return value.
file.writelines(sequence)
13 Writes a sequence of strings to the file. The sequence can be any iterable
object producing strings, typically a list of strings.

Let us go through them briefly:

  1. file.close()

Description

The method close() closes the opened file. A closed file cannot be read or written any more. Any operation, which requires that the file be opened will raise a ValueError after the file has been closed. Calling close() more than once is allowed.

Python automatically closes a file when the reference object of a file is reassigned to another file. It is a good practice to use the close() method to close a file.

Syntax

Following is the syntax for close() method:

fileObject.close();

Parameters

  • NA

Return Value

This method does not return any value.

Example

The following example shows the usage of close() method.

#!/usr/bin/python

# Open a file

fo = open("foo.txt", "wb")

print "Name of the file: ", fo.name

# Close opend file fo.close()

When we run above program, it produces following result:

Name of the file:     foo.txt

  1. File.flush()

Description

The method flush() flushes the internal buffer, like stdio's fflush. This may be a no-op on some file-like objects.

Python automatically flushes the files when closing them. But you may want to flush the data before closing any file.

Syntax

Following is the syntax for flush() method:

fileObject.flush();

Parameters

  • NA

Return Value

This method does not return any value.

Example

The following example shows the usage of flush() method.

#!/usr/bin/python

# Open a file

fo = open("foo.txt", "wb")

print "Name of the file: ", fo.name

  • Here it does nothing, but you can call it with read operation. fo.flush()
  • Close opend file

fo.close()

When we run above program, it produces following result:

Name of the file:     foo.txt

  1. File.fileno()

Description

The method fileno() returns the integer file descriptor that is used by the underlying implementation to request I/O operations from the operating system.

Syntax

Following is the syntax for fileno() method:

fileObject.fileno();

Parameters

 

NA

Return Value

This method returns the integer file descriptor.

Example

The following example shows the usage of fileno() method.

#!/usr/bin/python

# Open a file

fo = open("foo.txt", "wb")

print "Name of the file: ", fo.name

fid = fo.fileno()

print "File Descriptor: ", fid

# Close opend file fo.close()

When we run above program, it produces following result:

Name of the file:     foo.txt

File Descriptor:     3

  1. File.isatty()

Description

The method isatty() returns True if the file is connected (is associated with a terminal device) to a tty(-like) device, else False.

Syntax

Following is the syntax for isatty() method:

fileObject.isatty();

Parameters

NA

Return Value

This method returns true if the file is connected (is associated with a terminal device) to a tty(-like) device, else false.

Example

The following example shows the usage of isatty() method.

#!/usr/bin/python

# Open a file

fo = open("foo.txt", "wb")

print "Name of the file: ", fo.name

ret = fo.isatty()

print "Return value : ", ret

# Close opend file fo.close()

When we run above program, it produces following result:

Name of the file:     foo.txt

Return value :     False

  1. File.next()

Description

The method next() is used when a file is used as an iterator, typically in a loop, the next() method is called repeatedly. This method returns the next input line, or raises StopIteration when EOF is hit.

Combining next() method with other file methods like readline() does not work right. However, usingseek() to reposition the file to an absolute position will flush the read-ahead buffer.

Syntax

Following is the syntax for next() method:

fileObject.next();

Parameters

NA

Return Value

This method returns the next input line.

Example

The following example shows the usage of next() method.

#!/usr/bin/python

# Open a file

fo = open("foo.txt", "rw+")

print "Name of the file: ", fo.name

  • Assuming file has following 5 lines
  • This is 1st line
  • This is 2nd line
  • This is 3rd line
  • This is 4th line
  • This is 5th line

for index in range(5): line = fo.next()

print "Line No %d - %s" % (index, line)

# Close opend file

fo.close()

When we run above program, it produces following result:

Name of the file:     foo.txt

Line No 0 - This is 1st line

Line No 1 - This is 2nd line

Line No 2 - This is 3rd line

Line No 3 - This is 4th line

Line No 4 - This is 5th line

  1. File.read([size])

Description

The method read() reads at most size bytes from the file. If the read hits EOF before obtaining size bytes, then it reads only available bytes.

Syntax

Following is the syntax for read() method:

fileObject.read( size );

Parameters

size -- This is the number of bytes to be read from the file.

Return Value

This method returns the bytes read in string.

Example

The following example shows the usage of read() method.

#!/usr/bin/python

# Open a file

fo = open("foo.txt", "rw+")

print "Name of the file: ", fo.name

  • Assuming file has following 5 lines
  • This is 1st line
  • This is 2nd line
  • This is 3rd line
  • This is 4th line
  • This is 5th line

line = fo.read(10)

print "Read Line: %s" % (line)

# Close opend file fo.close()

When we run above program, it produces following result:

Name of the file:     foo.txt

Read Line: This is 1s

  1. File.readline([size])

Description

The method readline() reads one entire line from the file. A trailing newline character is kept in the string. If the size argument is present and non-negative, it is a maximum byte count including the trailing newline and an incomplete line may be returned.

An empty string is returned only when EOF is encountered immediately.

Syntax

Following is the syntax for readline() method:

fileObject.readline( size );

Parameters

size -- This is the number of bytes to be read from the file.

Return Value

This method returns the line read from the file.

Example

The following example shows the usage of realine() method.

#!/usr/bin/python

# Open a file

fo = open("foo.txt", "rw+")

print "Name of the file: ", fo.name

  • Assuming file has following 5 lines
  • This is 1st line
  • This is 2nd line
  • This is 3rd line
  • This is 4th line
  • This is 5th line

line = fo.readline()

print "Read Line: %s" % (line)

line = fo.readline(5)

print "Read Line: %s" % (line)

# Close opend file fo.close()

When we run above program, it produces following result:

Name of the file:     foo.txt

Read Line: This is 1st line

Read Line: This

  1. file.readline([sizehint])

Description

The method readline() reads one entire line from the file. A trailing newline character is kept in the string. If the size argument is present and non-negative, it is a maximum byte count including the trailing newline and an incomplete line may be returned.

An empty string is returned only when EOF is encountered immediately.

Syntax

Following is the syntax for readline() method:

fileObject.readline( size );

Parameters

size -- This is the number of bytes to be read from the file.

Return Value

This method returns the line read from the file.

Example

The following example shows the usage of readline() method.

#!/usr/bin/python

# Open a file

fo = open("foo.txt", "rw+")

print "Name of the file: ", fo.name

  • Assuming file has following 5 lines
  • This is 1st line
  • This is 2nd line
  • This is 3rd line
  • This is 4th line
  • This is 5th line

line = fo.readline()

print "Read Line: %s" % (line)

line = fo.readline(5)

print "Read Line: %s" % (line)

# Close opend file fo.close()

When we run above program, it produces following result:

Name of the file:     foo.txt

Read Line: This is 1st line

Read Line: This

  1. file.seek(offset[,whence])

Description

The method seek() sets the file's current position at the offset. The whence argument is optional and defaults to 0, which means absolute file positioning, other values are 1 which means seek relative to the current position and 2 means seek relative to the file's end.

There is no return value. Note that if the file is opened for appending using either 'a' or 'a+', any seek() operations will be undone at the next write.

If the file is only opened for writing in append mode using 'a', this method is essentially a no-op, but it remains useful for files opened in append mode with reading enabled (mode 'a+').

If the file is opened in text mode using 't', only offsets returned by tell() are legal. Use of other offsets causes undefined behavior.

Note that not all file objects are seekable.

Syntax

Following is the syntax for seek() method:

fileObject.seek(offset[, whence])

Parameters

  • offset -- This is the position of the read/write pointer within the file.
  • whence -- This is optional and defaults to 0 which means absolute file positioning, other values are 1 which means seek relative to the current position and 2 means seek relative to the file's end.

Return Value

This method does not return any value.

Example

The following example shows the usage of seek() method.

#!/usr/bin/python

# Open a file

fo = open("foo.txt", "rw+")

print "Name of the file: ", fo.name

  • Assuming file has following 5 lines
  • This is 1st line
  • This is 2nd line
  • This is 3rd line
  • This is 4th line
  • This is 5th line

line = fo.readline()

print "Read Line: %s" % (line)

  • Again set the pointer to the beginning fo.seek(0, 0)

line = fo.readline()

print "Read Line: %s" % (line)

  • Close opend file

fo.close()

When we run above program, it produces following result:

Name of the file:     foo.txt

Read Line: This is 1st line

Read Line: This is 1st line

  1. tell()

Description

The method tell() returns the current position of the file read/write pointer within the file.

Syntax

Following is the syntax for tell() method:

fileObject.tell()

Parameters

NA

Return Value

This method returns the current position of the file read/write pointer within the file.

Example

The following example shows the usage of tell() method.

#!/usr/bin/python

# Open a file

fo = open("foo.txt", "rw+")

print "Name of the file: ", fo.name

  • Assuming file has following 5 lines
  • This is 1st line
  • This is 2nd line
  • This is 3rd line
  • This is 4th line
  • This is 5th line

line = fo.readline()

print "Read Line: %s" % (line)

  • Get the current position of the file. pos = fo.tell()

print "Current Position: %d" % (pos)

  • Close opend file

fo.close()

When we run above program, it produces following result:

Name of the file:     foo.txt

Read Line: This is 1st line

Current Position: 18

  1. truncate([size])

Description

The method truncate() truncates the file's size. If the optional size argument is present, the file is truncated to (at most) that size..

The size defaults to the current position. The current file position is not changed. Note that if a specifiedsize exceeds the file's current size, the result is platform-dependent.

Note: This method would not work in case file is opened in read-only mode.

Syntax

Following is the syntax for truncate() method:

fileObject.truncate( [ size ])

Parameters

size -- If this optional argument is present, the file is truncated to (at most) that size.

Return Value

This method does not return any value.

Example

The following example shows the usage of truncate() method.

#!/usr/bin/python

# Open a file

fo = open("foo.txt", "rw+")

print "Name of the file: ", fo.name

  • Assuming file has following 5 lines
  • This is 1st line
  • This is 2nd line
  • This is 3rd line
  • This is 4th line
  • This is 5th line

line = fo.readline()

print "Read Line: %s" % (line)

  • Now truncate remaining file. fo.truncate()
  • Try to read file now

line = fo.readline()

print "Read Line: %s" % (line)

# Close opend file fo.close()

When we run above program, it produces following result:

Name of the file:     foo.txt

Read Line: This is 1st line

Read Line:

  1. write(str)

Description

The method write() writes a string str to the file. There is no return value. Due to buffering, the string may not actually show up in the file until the flush() or close() method is called.

Syntax

Following is the syntax for write() method:

fileObject.write( str )

Parameters

str -- This is the String to be written in the file.

Return Value

This method does not return any value.

Example

The following example shows the usage of write() method.

#!/usr/bin/python

  • Open a file in write mode fo = open("foo.txt", "rw+")

print "Name of the file: ", fo.name

  • Assuming file has following 5 lines
  • This is 1st line
  • This is 2nd line
  • This is 3rd line
  • This is 4th line
  • This is 5th line

str = "This is 6th line"

  • Write a line at the end of the file. fo.seek(0, 2)

line = fo.write( str )

  • Now read complete file from beginning. fo.seek(0,0)

for index in range(6): line = fo.next()

print "Line No %d - %s" % (index, line)

# Close opend file

fo.close()

When we run above program, it produces following result:

Name of the file:     foo.txt

Line No 0 - This is 1st line

Line No 1 - This is 2nd line

Line No 2 - This is 3rd line

Line No 3 - This is 4th line

Line No 4 - This is 5th line

Line No 5 - This is 6th line

  1. writelines(sequence)

Description

The method writelines() writes a sequence of strings to the file. The sequence can be any iterable object producing strings, typically a list of strings. There is no return value.

Syntax

Following is the syntax for writelines() method:

fileObject.writelines( sequence )

Parameters

sequence -- This is the Sequence of the strings.

Return Value

This method does not return any value.

  • Open a file in witre mode fo = open("foo.txt", "rw+")

print "Name of the file: ", fo.name

  • Assuming file has following 5 lines
  • This is 1st line
  • This is 2nd line
  • This is 3rd line
  • This is 4th line
  • This is 5th line

seq = ["This is 6th line\n", "This is 7th line"]

  • Write sequence of lines at the end of the file. fo.seek(0, 2)

line = fo.writelines( seq )

  • Now read complete file from beginning. fo.seek(0,0)

for index in range(7): line = fo.next()

print "Line No %d - %s" % (index, line)

  • Close opend file

fo.close()

When we run above program, it produces following result:

Name of the file:     foo.txt

Line No 0 - This is 1st line

Line No 1 - This is 2nd line

Line No 2 - This is 3rd line

Line No 3 - This is 4th line

Line No 4 - This is 5th line

Line No 5 - This is 6th lin

Line No 6 - This is 7th line

OS Object Methods

This provides methods to process files as well as directories.

  Sr. No.   Methods with Description    
  1   os.access(path,mode)    
    Use the real uid/gid to test for access to path.    
         
  2   os.chdir(path)    
    Change the current working directory to path    
         
  3   os.chflags(path, flags)    
    Set the flags of path to the numeric flags.    
         
  4   os.chmod(path, mode)    
    Change the mode of path to the numeric mode.    
         
  5   os.chown(path, uid, gid)    
    Change the owner and group id of path to the numeric uid and gid.    
         
  6   os.chroot(path)    
    Change the root directory of the current process to path.    
         
  7   os.close(fd)    
    Close file descriptor fd.    
         

os.closerange(fd_low, fd_high)

  • Close all file descriptors from fd_low (inclusive) to fd_high (exclusive), ignoring errors.
9 os.dup(fd)  
Return a duplicate of file descriptor fd.  
   
  10     os.dup2(fd, fd2)    
      Duplicate file descriptor fd to fd2, closing the latter first if necessary.    
           
        os.fchdir(fd)    
  11     Change the current working directory to the directory represented by the    
        file descriptor fd.    
  12     os.fchmod(fd, mode)    
      Change the mode of the file given by fd to the numeric mode.    
           
        os.fchown(fd, uid, gid)    
  13     Change the owner and group id of the file given by fd to the numeric uid    
        and gid.    
  14     os.fdatasync(fd)    
      Force write of file with filedescriptor fd to disk.    
           
  15     os.fdopen(fd[, mode[, bufsize]])    
      Return an open file object connected to the file descriptor fd.    
           
        os.fpathconf(fd, name)    
  16     Return system configuration information relevant to an open file. name    
        specifies the configuration value to retrieve.    
  17     os.fstat(fd)    
      Return status for file descriptor fd, like stat().    
           
        os.fstatvfs(fd)    
  18     Return information about the filesystem containing the file associated with    
        file descriptor fd, like statvfs().    
  19     os.fsync(fd)    
      Force write of file with filedescriptor fd to disk.    
           
        os.ftruncate(fd, length)    
  20     Truncate the file corresponding to file descriptor fd, so that it is at most    
        length bytes in size.    
  21     os.getcwd()    
      Return a string representing the current working directory.    
           
  22     os.getcwdu()    
      Return a Unicode object representing the current working directory.    
           
        os.isatty(fd)    
  23     Return True if the file descriptor fd is open and connected to a tty(-like)    
        device, else False.    
        os.lchflags(path, flags)    
  24     Set the flags of path to the numeric flags, like chflags(), but do not follow    
        symbolic links.    
  25     os.lchmod(path, mode)    
      Change the mode of path to the numeric mode.    
           
        os.lchown(path, uid, gid)    
           
  26     Change the owner and group id of path to the numeric uid and gid. This    
        function will not follow symbolic links.    
  27     os.link(src, dst)    
      Create a hard link pointing to src named dst.    
           
        os.listdir(path)    
  28     Return a list containing the names of the entries in the directory given by    
        path.    
        os.lseek(fd, pos, how)    
  29     Set the current position of file descriptor fd to position pos, modified by    
        how.    
  30     os.lstat(path)    
      Like stat(), but do not follow symbolic links.    
           
  31     os.major(device)    
      Extract the device major number from a raw device number.    
           
  32     os.makedev(major, minor)    
      Compose a raw device number from the major and minor device numbers.    
           
  33     os.makedirs(path[, mode])    
      Recursive directory creation function.    
           
  34     os.minor(device)    
      Extract the device minor number from a raw device number .    
           
  35     os.mkdir(path[, mode])    
      Create a directory named path with numeric mode mode.    
           
        os.mkfifo(path[, mode])    
  36     Create a FIFO (a named pipe) named path with numeric mode mode. The    
        default mode is 0666 (octal).    
        os.mknod(filename[, mode=0600, device])    
  37     Create a filesystem node (file, device special file or named pipe) named    
        filename.    
        os.open(file, flags[, mode])    
  38     Open the file file and set various flags according to flags and possibly its    
        mode according to mode.    
        os.openpty()    
  39     Open a new pseudo-terminal pair. Return a pair of file descriptors    
        (master, slave) for the pty and the tty, respectively.    
  40     os.pathconf(path, name)    
      Return system configuration information relevant to a named file.    
           
        os.pipe()    
  41     Create a pipe. Return a pair of file descriptors (r, w) usable for reading    
        and writing, respectively.    
  42     os.popen(command[, mode[, bufsize]])    
      Open a pipe to or from command.    
           
        os.read(fd, n)    
  43     Read at most n bytes from file descriptor fd. Return a string containing    
      the bytes read. If the end of the file referred to by fd has been reached,    
           
        an empty string is returned.    
  44     os.readlink(path)    
      Return a string representing the path to which the symbolic link points.    
           
  45     os.remove(path)    
      Remove the file path.    
           
  46     os.removedirs(path)    
      Remove directories recursively.    
           
  47     os.rename(src, dst)    
      Rename the file or directory src to dst.    
           
  48     os.renames(old, new)    
      Recursive directory or file renaming function.    
           
  49     os.rmdir(path)    
      Remove the directory path    
           
  50     os.stat(path)    
      Perform a stat system call on the given path.    
           
  51     os.stat_float_times([newvalue])    
      Determine whether stat_result represents time stamps as float objects.    
           
  52     os.statvfs(path)    
      Perform a statvfs system call on the given path.    
           
  53     os.symlink(src, dst)    
         
      Create a symbolic link pointing to src named dst.    
           
        os.tcgetpgrp(fd)    
  54     Return the process group associated with the terminal given by fd (an    
        open file descriptor as returned by open()).    
        os.tcsetpgrp(fd, pg)    
  55     Set the process group associated with the terminal given by fd (an open    
        file descriptor as returned by open()) to pg.    
        os.tempnam([dir[, prefix]])    
  56     Return a unique path name that is reasonable for creating a temporary    
        file.    
  57     os.tmpfile()    
      Return a new file object opened in update mode (w+b).    
           
        os.tmpnam()    
  58     Return a unique path name that is reasonable for creating a temporary    
        file.    
        os.ttyname(fd)    
  59     Return a string which specifies the terminal device associated with file    
      descriptor fd. If fd is not associated with a terminal device, an exception is    
           
        raised.    
  60     os.unlink(path)    
      Remove the file path.    
           
  61     os.utime(path, times)    
      Set the access and modified times of the file specified by path.    
           

os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])

  • Generate the file names in a directory tree by walking the tree either top-down or bottom-up.

os.write(fd, str)

  • Write the string str to file descriptor fd. Return the number of bytes actually written.

Example

The following example shows the usage of writelines() method.

#!/usr/bin/python'