Взаимодействие с операционной системой
Все упомянуттые ниже функции — кроссплатформенные, т. е. работают как минимум на Linux, *NIX и Windows (скорее всего, и на MacOSX)
Возможности модуля os и sys
sys: argv[], executable, exit(), path, platform,ps1,ps2,std (*)
os: name, environ, chdir(path), getcwd(), getlogin()
os: tmpfile(), tempnam([dir[, prefix]]), access(path, mode), mkdir(path[, mode]), remove(path), stat(path), walk(top)
os: execlp(file, arg0, arg1, ...)/execvp(file, args), spawnlp(moode, file, ...)/spawnvp(mode, file, args), system(command), times()
os.path: abspath, exists/isfile/isdir, getsize, join/split, samefile,
subprocess:
retcode=subprocess.call(["ls", "-l"])
hellostring=subprocess.check_output(["echo", "Hello World!"])
Popen
Домашнее задание
Прочитать про модули в документации про модули sys, os, os.path и subprocess
- Написать программу, которая создаёт файл с простейшей программой на Python, выполняет эту программу (запускает Python с параметром — именем файла), а затем удаляет файл
Написать программу, запускающую генератор теста и решатель задачи про лабиринт
Написать программу, многократно запускающую генератор теста и решатель задачи про колесо (2013-01-25.koleso.py)
убивающую решатель, если он работает слишком долго
тестовый ничего-не-решатель, который долго думает 2013-02-01.dumb_solver.py
Условные обозначения
— тема по Linux
— тема повышенной сложности
— теоретическое задание
— тема для самостоятельного изучения