Open In App

Write Os.System Output In File Using Python

Last Updated : 12 Feb, 2024
Improve
Improve
Like Article
Like
Save
Share
Report

Python is a high-level programming language. There are many modules. However, we will use os.system module in this Program. This module provides a portable way of using operating system-dependent functionality. The “os” and “os.path()” modules include many functions to interact with the file system. In this article, we will explore different methods to write os.system output in a file using Python.

Write os.system Output in File Using Python

Below, are some of the approaches to write os.system Output In File Using Python

  • Using os.system() with > operator
  • Using os.system() with >> operator to append output
  • Using os.system() with 1> operator for stdout
  • Using os.system() with 2> operator for stderr

Write os.system Output In File Using os.system() with > operator

The below Python code uses os.system() to execute the “dir” command, redirecting its output to a file named “output.txt” using the “>” operator, and prints either “Successfully executed” or “Failed” based on the exit code (0 for success).

Python3




import os
 
# specifying the command
command = "dir"
 
# specifying output file name
output_file = "output.txt"
 
# using os.system to run the command and redirect the output to a file
execute = os.system(f"{command} > {output_file}")
if execute == 0:
    print("Successfully executed")
else:
    print("Failed")


Output:

Successfully executed

Write os.system Output In File Using os.system() with >> operator

The below Python code uses os.system() to execute the “echo hello” command, appending its output to a file named “output.txt” using the “>>” operator. The code then prints either “File successfully created” or “Failed is not created” based on the exit code (0 for success).

Python3




import os
 
# specifying the command you want to run
command = "echo hello"
 
# specifying the file where you want to store the output
output_file = "output.txt"
 
# using os.system to run the command and redirect the output to a file
execute = os.system(f"{command} >> {output_file}")
if not(execute):
    print("File successfully created ")
else:
    print ("Failed is not created")


Output:

File successfully created 

Write os.system Output In File Using os.system() with 1> operator for stdout

The below Python code uses os.system() to execute the “echo” command, redirecting its standard output (stdout) to a file named “output.txt” using the “1>” operator. The code prints a success message or an error message based on the execution result.

Python3




import os
 
#specifing command
command = 'echo "Hello, World!" 1> output.txt' 
 
try:
    os.system(command)
    print("Command executed successfully. Stdout redirected to output.txt")
except Exception as e:
    print(f"An error occurred: {e}")


Output:

Command executed successfully. Stdout redirected to output.txt

Using os.system() with 2> operator for stderr

The below Python code uses os.system() to execute the ‘del‘ command, attempting to delete a file named ‘output1.txt’, and redirects any error output (stderr) to a file named ‘error.txt‘ using the ‘2>‘ operator. It then displays the content of ‘error.txt‘ using the ‘type‘ command on Windows, providing information about any errors encountered during the execution.

Python3




import os
 
command = 'del output1.txt 2> error.txt'
 
try:
    # command using os.system()
    os.system(command)
     
    # display the error output using 'type' command
    os.system('type error.txt')
 
except Exception as e:
    print(f"An error occurred: {e}")


Output:

Could Not Find D:\File_Location\output1.txt

Conclusion

In conclusion, we can execute system command in Python and redirecting the output to a file can be achieved using either ‘os.system’. Python os module makes it easy to work with system operations, offering options for both quick tasks and more intericate process. We can use various commands with Python “os.system()” method. In this post, we use all most all techniques how to use this commands with os.system() command.



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads