Using Python to Interact with the Operating System (Coursera)

Offered by Google,
Using Python to Interact with the Operating System (Coursera)

By the end of this course, you’ll be able to manipulate files and processes on your computer’s operating system. You’ll also have learned about regular expressions -- a very powerful tool for processing text files -- and you’ll get practice using the Linux command line on a virtual machine. And, this might feel like a stretch right now, but you’ll also write a program that processes a bunch of errors in an actual log file and then generates a summary file. That’s a super useful skill for IT Specialists to know.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

We’ll kick off by exploring how to execute Python locally, and organize and use code across different Python files. We'll then learn how to read and write different types of files, and use subprocesses and input streams. We'll also dive into Bash scripting and regular expressions -- both very powerful tools for anyone working with systems. We'll even touch on automatic testing, which allow us to automate how we check if our code is correct. To finish, we’ll put all this together by using the tools that we’ve acquired to process data and generate automatic reports.
We’ll also explain how to set up your own developer environment in your machine. This is a key step in being able to write and deploy powerful automation tools.

What You Will Learn

  • Setup, configure, and use your own developer environment in Python
  • Manipulate files and processes running on the Operating System using Python
  • Understand and use regular expressions (regex), a powerful tool for processing text files
  • Know when to choose Bash or Python, and create small scripts using Bash

Course 2 of 6 in the Google IT Automation with Python Professional Certificate

Syllabus

WEEK 1
Getting Your Python On
In this module, you’ll learn about the different types of operating systems, and how you can get your python code ready to interact with the operating system. We’ll learn about getting your environment set up and installing additional Python modules that will help you along the way. We’ll rundown interpreted versus compiled language, and how they differ from each other. We’ll dive into the benefits of automation, and point out common pitfalls so you can avoid them. Finally, we’ll learn about Qwiklabs, which will be used for graded assessments.

WEEK 2
Managing Files with Python
In this module, you’ll learn about reading and writing to files and the commands that will enable you to do this. We’ll learn the importance of managing files and how we can navigate through different directories. We’ll understand how to work with files and how there is a layer of abstraction between Python and the operating system. Finally, we’ll dive into learning about CSV files and how to best utilize them.

WEEK 3
Regular Expressions
In this module, you’ll learn about what a regular expression is and why you would use one. We’ll dive into the basics of regular expressions and give examples of wildcards, repetition qualifiers, escapare characters, and more. Next up, we’ll explore advanced regular expressions and deep dive on repetition qualifiers. You’ll tackle new exercises like capturing groups and extracting PIDs using regexes. Finally, we’ll provide a cheat sheet to serve as your go-to guide for regular expressions.

WEEK 4
Managing Data and Processes
In this module, we’ll learn about reading and writing to data files based on an interaction with the user. Along the way, we’ll dive into standard streams, environment variables, and command line arguments. Next, we’ll jump into Python subprocesses, including system commands and how they can be used. We’ll review how to obtain output from a system command, and dive into subprocess management, including how to check exit values and manipulate the normal versus error exit values. Finally, we’ll rundown processing log files, and will cover what a log file is, how to filter log files using regular expressions, and how to understand the output captured from log files.

WEEK 5
Testing in Python
In this module, you’ll learn how to create tests in Python. We’ll cover what testing is all about and dive into the differences between manual versus automated testing. Next, we’ll explore what unit tests are intended to do and how to write them. Then, we’ll learn about other test concepts like black box versus white box tests and how test-driven development can frame how you design and write your code. Finally, you’ll learn about errors and exceptions, and how to combat them.

WEEK 6
Bash Scripting
In this module, you’ll be exposed to what the Linux OS has to offer and you'll learn about Bash scripting. We’ll go over basic Linux commands and explore the many processes Linux has to offer, including a key concept called redirection. We’ll then deep dive into creating bash scripts using variables and globs. Finally, we’ll learn about advanced bash concepts and develop an understanding of when to use bash versus Python.

WEEK 7
Final Project
In this module, you’ll put everything you’ve learned so far into action! You’ll apply your scripting knowledge to tackle a challenging final project: writing a script that scans for a specific error in the log files.
You'll create a problem statement to understand the challenge, conduct some research to see what options are available, then begin planning how you intend to solve the problem. Lastly, you'll write the code to implement your solution!

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Videojuegos: ¿de qué hablamos? (Coursera) Coursera
Universitat Autònoma de Barcelona

Videojuegos: ¿de qué hablamos? (Coursera)

Probablemente, todos hemos jugado a algún videojuego, pero ¿qué hay detrás de él? Podemos decir que - con independencia del videojuego - hay un árduo trabajo multidisciplinar que incluye desde aspectos de diseño hasta la programación como tal del videojuego. Este curso pretende ser un curso introductorio que muestre qué aspectos hay que considerar en el videojuego, y que permita con posterioridad abordar individualmente los temas que se consideran nucleares: diseño, arte, motor del videojuego y 'game play'.

Nov 16th 2026
5-12 Weeks
Applied Calculus with Python (Coursera) Coursera
Johns Hopkins University

Applied Calculus with Python (Coursera)

This course is designed for the Python programmer who wants to develop the foundations of Calculus to help solve challenging problems as well as the student of mathematics looking to learn the theory and numerical techniques of applied calculus implemented in Python. By the end of this course, you will have learned how to apply essential calculus concepts to develop robust Python applications that solve a variety of real-world challenges.

Nov 23rd 2026
5-12 Weeks
Operating System Virtualization - Bachelor's (Coursera) Coursera
Illinois Tech

Operating System Virtualization - Bachelor's (Coursera)

Each successful student in this course will become familiar with hypervisors, virtualization terms, infrastructure considerations, and appropriate use cases. While designed to give an overview of today’s Virtualization technologies and methods, students in the course will gain enough practical knowledge to begin deploying various hypervisors and virtual machine environments using current industry standard platforms.

Nov 23rd 2026
5-12 Weeks
¡A Programar! Una introducción a la programación (Coursera) Coursera
University of Edinburgh,Universidad ORT Uruguay

¡A Programar! Una introducción a la programación (Coursera)

¿Alguna vez pensaste en crear tus propios juegos de computadora, pero no tenías idea cómo hacerlo o por dónde comenzar? Este curso te enseñará a programar utilizando Scratch, un lenguaje de programación visual muy fácil de usar, y más importante aún, aprenderás los principios fundamentales de la computación para que comiences a pensar como ingeniero/a de software.

Nov 16th 2026
5-12 Weeks
操作系统原理 (Operating Systems) (Coursera) Coursera
Peking University

操作系统原理 (Operating Systems) (Coursera)

操作系统原理》是针对计算机科学技术专业三年级本科生开设的一门专业基础课程。本课程着重学生系统观的培养,通过重点讲述操作系统的内部结构、工作原理及典型技术的实现,使学生建立起对操作系统的整体及各个功能模块的认识,从而系统掌握计算机的专业知识,进一步提升学生的软件开发能力乃至系统软件开发能力。

Nov 23rd 2026
13-24 Weeks
Big Data Analysis Deep Dive (Coursera) Coursera
Alibaba Cloud Academy

Big Data Analysis Deep Dive (Coursera)

The job market for architects, engineers, and analytics professionals with Big Data expertise continues to increase. The Academy’s Big Data Career path focuses on the fundamental tools and techniques needed to pursue a career in Big Data. This course includes: data processing with python, writing and reading SQL queries, transmitting data with MaxCompute, analyzing data with Quick BI, using Hive, Hadoop, and spark on E-MapReduce, and how to visualize data with data dashboards. Work through our course material, learn different aspects of the Big Data field, and get certified as a Big Data Professional!

Nov 23rd 2026
5-12 Weeks
Network Systems Foundations (Coursera) Coursera
University of Colorado Boulder

Network Systems Foundations (Coursera)

Welcome! Throughout this course, Network Systems Foundations, you will delve into the fundamental layers of network communication. You will start with a thorough discussion of the Link Layer and its crucial role, moving on to the intricacies of Internet Protocol (IP) and router data planes, and then navigate through the complexities of the transport layer, application layer, and network security.

Nov 23rd 2026
5-12 Weeks
Effective Programming in Scala (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Effective Programming in Scala (Coursera)

Scala is an expressive, versatile, and safe programming language. In this course, you will learn how to get the most out of Scala to solve common programming tasks such as modeling business domains, breaking down complex problems into simpler problems, manipulating data, or running parallel tasks. Along the journey, you will also learn the best practices for writing high-quality code that scales to large applications, how to handle errors, how to write tests, and how to leverage a productive development environment.

Nov 23rd 2026
5-12 Weeks
The Unix Workbench (Coursera) Coursera
Johns Hopkins University

The Unix Workbench (Coursera)

Unix forms a foundation that is often very helpful for accomplishing other goals you might have for you and your computer, whether that goal is running a business, writing a book, curing disease, or creating the next great app. The means to these goals are sometimes carried out by writing software. Software can’t be mined out of the ground, nor can software seeds be planted in spring to harvest by autumn. Software isn’t produced in factories on an assembly line. Software is a hand-made, often bespoke good. If a software developer is an artisan, then Unix is their workbench.

Nov 23rd 2026
4 Weeks
Data Processing Using Python (Coursera) Coursera
Nanjing University

Data Processing Using Python (Coursera)

This course is mainly for non-computer majors. It starts with the basic syntax of Python, to how to acquire data in Python locally and from network, to how to present data, then to how to conduct basic and advanced statistic analysis and visualization of data, and finally to how to design a simple GUI to present and process data, advancing level by level.

Nov 23rd 2026
5-12 Weeks