We may earn an affiliate commission when you visit our partners.
Course image
Google Career Certificates

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.

Read more

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.

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 allows 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.

Enroll now

What's inside

Syllabus

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.
Read more
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. You’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.
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 study guide to serve as your go-to guide for regular expressions.
Managing Data and Processes
In this module, you’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.
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.
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.
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!

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Provides foundational understanding of file management on an operating system suitable for beginners
Strong focus on Python for data manipulation and system automation
Incorporates industry-standard regular expressions for advanced text processing
Provides practical examples and exercises to reinforce concepts
Introduces testing fundamentals to ensure code accuracy

Save this course

Save Using Python to Interact with the Operating System to your list so you can find it easily later:
Save

Reviews summary

Using python for automation

This course presents learners with the knowledge and skills necessary to interact with operating systems using the Python programming language. It consists of seven modules, each covering a different aspect of Python's capabilities in this domain. The modules are designed to build upon one another, so it is recommended to take them in order. Overall, this course is a valuable resource for anyone looking to automate tasks using Python, from beginners with no prior experience to more experienced programmers looking to expand their skill set.

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Using Python to Interact with the Operating System with these activities:
Install prerequisites
Students that install necessary software packages and update system configurations before the course begins will be better equipped to tackle the topics covered throughout the course.
Browse courses on Python
Show steps
  • Check system requirements
  • Download and install Python
  • Set up your development environment
  • Install supporting software
Read 'Automating with Python' by Al Sweigart
This book provides a comprehensive introduction to Python programming and will help students to develop a strong foundation in the core concepts of the language.
Show steps
  • Read the book in its entirety
  • Complete the exercises at the end of each chapter
  • Apply the concepts you learn to your own projects
Complete online tutorials on regular expressions
Completing tutorials on regular expressions will help students to develop a deeper understanding of this important concept, which is used extensively in the course.
Browse courses on Regular Expressions
Show steps
  • Find a reputable online tutorial on regular expressions
  • Work through the tutorial, completing all of the exercises
  • Test your understanding by applying regular expressions to real-world problems
Four other activities
Expand to see all activities and additional details
Show all seven activities
Practice writing Python code
Practice writing Python code will help to reinforce the concepts learned in the course and improve coding skills.
Browse courses on Python Programming
Show steps
  • Create a new Python project
  • Write a program to read from a file
  • Write a program to write to a file
  • Write a program to execute a command in a subprocess
  • Write a program to use regular expressions to parse a file
Help other students in the course
Helping other students in the course will reinforce your understanding of the material and develop your communication skills.
Browse courses on Collaboration
Show steps
  • Identify a student who needs help
  • Offer your assistance
  • Explain the concept to the student
  • Answer the student's questions
  • Provide encouragement
Create a study guide from course materials
Creating a study guide will help students to organize their notes and identify the most important concepts covered in the course.
Browse courses on Study Skills
Show steps
  • Gather all of the course materials
  • Identify the key concepts in each module
  • Create a study guide that summarizes the key concepts
  • Review the study guide regularly
Write a blog post on a technical topic covered in the course
Writing a blog post on a technical topic will help students to consolidate their knowledge and develop their communication skills.
Browse courses on Technical Writing
Show steps
  • Choose a topic to write about
  • Research the topic thoroughly
  • Write a clear and concise blog post
  • Edit and proofread your blog post
  • Choose a publishing platform

Career center

Learners who complete Using Python to Interact with the Operating System will develop knowledge and skills that may be useful to these careers:
Software Engineer
A Software Engineer designs, develops, tests, and maintains computer software. This course provides a foundation in Python programming, which is a popular language for software development. The course also covers topics such as file management, regular expressions, and subprocesses, which are all essential for software development. Additionally, the course provides an introduction to Bash scripting, which is a useful skill for automating tasks in a Linux environment. Overall, this course can help Software Engineers build the skills they need to be successful in their careers.
Data Analyst
A Data Analyst collects, analyzes, and interprets data to help businesses make better decisions. This course provides a foundation in Python programming, which is a popular language for data analysis. The course also covers topics such as file management, regular expressions, and subprocesses, which are all essential for data analysis. Additionally, the course provides an introduction to Bash scripting, which can be useful for automating tasks in a Linux environment. Overall, this course can help Data Analysts build the skills they need to be successful in their careers.
DevOps Engineer
A DevOps Engineer combines software development (Dev) and IT operations (Ops) to improve the efficiency of software development and delivery. This course provides a foundation in Python programming, which is a popular language for DevOps automation. The course also covers topics such as file management, subprocesses, and Bash scripting, which are all essential for DevOps engineers. Additionally, the course provides an introduction to regular expressions, which can be useful for automating tasks in a Linux environment. Overall, this course can help DevOps Engineers build the skills they need to be successful in their careers.
System Administrator
A System Administrator maintains and operates computer systems and networks. This course provides a foundation in Python programming, which is a popular language for system administration. The course also covers topics such as file management, subprocesses, and Bash scripting, which are all essential for system administrators. Additionally, the course provides an introduction to regular expressions, which can be useful for automating tasks in a Linux environment. Overall, this course can help System Administrators build the skills they need to be successful in their careers.
Network Engineer
A Network Engineer designs, implements, and maintains computer networks. This course provides a foundation in Python programming, which is a popular language for network automation. The course also covers topics such as file management, subprocesses, and Bash scripting, which are all essential for network engineers. Additionally, the course provides an introduction to regular expressions, which can be useful for automating tasks in a Linux environment. Overall, this course can help Network Engineers build the skills they need to be successful in their careers.
Security Analyst
A Security Analyst protects computer systems and networks from security threats. This course provides a foundation in Python programming, which is a popular language for security automation. The course also covers topics such as file management, subprocesses, and Bash scripting, which are all essential for security analysts. Additionally, the course provides an introduction to regular expressions, which can be useful for automating tasks in a Linux environment. Overall, this course can help Security Analysts build the skills they need to be successful in their careers.
Cloud Engineer
A Cloud Engineer designs, deploys, and manages cloud-based infrastructure. This course provides a foundation in Python programming, which is a popular language for cloud computing. The course also covers topics such as file management, subprocesses, and Bash scripting, which are all essential for cloud engineers. Additionally, the course provides an introduction to regular expressions, which can be useful for automating tasks in a Linux environment. Overall, this course can help Cloud Engineers build the skills they need to be successful in their careers.
IT Manager
An IT Manager plans, organizes, and directs the IT operations of an organization. This course provides a foundation in Python programming, which is a popular language for IT automation. The course also covers topics such as file management, subprocesses, and Bash scripting, which are all essential for IT managers. Additionally, the course provides an introduction to regular expressions, which can be useful for automating tasks in a Linux environment. Overall, this course can help IT Managers build the skills they need to be successful in their careers.
Data Scientist
A Data Scientist collects, analyzes, and interprets data to help businesses make better decisions. This course provides a foundation in Python programming, which is a popular language for data science. The course also covers topics such as file management, subprocesses, and Bash scripting, which are all essential for data scientists. Additionally, the course provides an introduction to regular expressions, which can be useful for automating tasks in a Linux environment. Overall, this course can help Data Scientists build the skills they need to be successful in their careers.
IT Specialist
An IT Specialist provides technical support and maintenance to computer systems and networks. This course provides a foundation in Python programming, which is a popular language for IT support. The course also covers topics such as file management, subprocesses, and Bash scripting, which are all essential for IT specialists. Additionally, the course provides an introduction to regular expressions, which can be useful for automating tasks in a Linux environment. Overall, this course can help IT Specialists build the skills they need to be successful in their careers.
Database Administrator
A Database Administrator manages and maintains databases. This course provides a foundation in Python programming, which is a popular language for database automation. The course also covers topics such as file management, subprocesses, and Bash scripting, which are all essential for database administrators. Additionally, the course provides an introduction to regular expressions, which can be useful for automating tasks in a Linux environment. Overall, this course can help Database Administrators build the skills they need to be successful in their careers.
Quality Assurance Analyst
A Quality Assurance Analyst tests and evaluates software to ensure that it meets quality standards. This course provides a foundation in Python programming, which is a popular language for software testing. The course also covers topics such as file management, subprocesses, and Bash scripting, which are all essential for quality assurance analysts. Additionally, the course provides an introduction to regular expressions, which can be useful for automating tasks in a Linux environment. Overall, this course can help Quality Assurance Analysts build the skills they need to be successful in their careers.
Software Tester
A Software Tester tests and evaluates software to ensure that it meets quality standards. This course provides a foundation in Python programming, which is a popular language for software testing. The course also covers topics such as file management, subprocesses, and Bash scripting, which are all essential for software testers. Additionally, the course provides an introduction to regular expressions, which can be useful for automating tasks in a Linux environment. Overall, this course can help Software Testers build the skills they need to be successful in their careers.
UX Designer
A UX Designer designs and evaluates user interfaces to ensure that they are easy to use and visually appealing. This course may be useful for UX Designers who want to learn more about Python programming and its applications in the field of user experience design. The course covers topics such as file management, subprocesses, and Bash scripting, which can be useful for automating tasks in a Linux environment. Additionally, the course provides an introduction to regular expressions, which can be useful for parsing and manipulating text data.
Web Developer
A Web Developer designs and develops websites and web applications. This course may be useful for Web Developers who want to learn more about Python programming and its applications in the field of web development. The course covers topics such as file management, subprocesses, and Bash scripting, which can be useful for automating tasks in a Linux environment. Additionally, the course provides an introduction to regular expressions, which can be useful for parsing and manipulating text data.

Reading list

We've selected 14 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Using Python to Interact with the Operating System.
Deep dive into the Python programming language. It covers advanced concepts and best practices, making it a valuable resource for experienced Python programmers.
Provides a comprehensive overview of the Python programming language, covering both the basics and advanced concepts. It valuable resource for anyone who wants to learn Python or improve their Python skills.
Comprehensive introduction to Python programming, covering both the basics and advanced concepts. It good choice for students who are new to programming or who want to learn Python for academic purposes.
Collection of recipes for solving common regular expression problems. It valuable resource for anyone who wants to learn how to use regular expressions or improve their skills.
Comprehensive guide to writing effective Unix shell scripts. It valuable resource for anyone who wants to learn how to write shell scripts or improve their skills.
Comprehensive textbook on operating systems. It valuable resource for anyone who wants to learn more about operating systems or improve their understanding of them.
Collection of recipes for solving common Python programming problems. It valuable resource for Python programmers of all levels.
Comprehensive reference guide to the Python programming language. It valuable resource for experienced Python programmers who need a quick reference to the language.
Teaches readers how to use Python to automate tasks, such as sending emails, downloading files, and scraping websites. It valuable resource for anyone who wants to learn how to use Python for practical purposes.
Concise and accessible introduction to operating systems. It good choice for beginners who want to learn more about operating systems or for those who want to brush up on their knowledge.
Fast-paced, practical introduction to Python programming. It good choice for beginners who want to learn Python quickly.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Using Python to Interact with the Operating System.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser