Documentos de referência para essa seção:

Módulo os : funcionalidades do sistema operacional

Uma forma portável de se usar as funcionalidades dependentes do sistema operacional.

Manipulação de arquivos e diretórios

Diretório atual:

[pastacode lang=”python” message=”” highlight=”” provider=”manual”]

os.getcwd()

[/pastacode]

Listar os arquivos do diretório atual:

[pastacode lang=”python” message=”” highlight=”” provider=”manual”]

os.listdir(os.curdir)

[/pastacode]

Criar um diretório:

[pastacode lang=”python” message=”” highlight=”” provider=”manual”]

os.mkdir('diretorio')

'diretorio' in os.listdir(os.curdir)

[/pastacode]

Renomear e excluir um diretório:

[pastacode lang=”python” message=”” highlight=”” provider=”manual”]

os.rename('diretorio', 'pasta')
'diretorio' in os.listdir(os.curdir)
'pasta' in os.listdir(os.curdir)

os.rmdir('pasta')
'pasta' in os.listdir(os.curdir)

[/pastacode]

Apagar um arquivo:

[pastacode lang=”python” message=”” highlight=”” provider=”manual”]

fp = open('qualquer.txt', 'w')
fp.close()

'qualquer.txt' in os.listdir(os.curdir)

os.remove('qualquer.txt')

'qualquer.txt' in os.listdir(os.curdir)

[/pastacode]

os.path: manipulações de caminho

Fornece operações comuns caminhos dos arquivos.

[pastacode lang=”python” message=”” highlight=”” provider=”manual”]

fp = open('arquivo.txt', 'w')
fp.close()

a = os.path.abspath('arquivo.txt')
a

os.path.split(a)
os.path.dirname(a)
os.path.basename(a)
os.path.splitext(os.path.basename(a))
os.path.exists('arquivo.txt')
os.path.isfile('arquivo.txt')
os.path.isdir('arquivo.txt')
os.path.expanduser('~/local') 
os.path.join(os.path.expanduser('~'), 'local', 'bin')

[/pastacode]

Executando um comando externo

[pastacode lang=”python” message=”” highlight=”” provider=”manual”]

os.system('ls') #no windows use 'dir'

[/pastacode]

Andar em um diretório

os.path.walk gera uma lista de arquivos em uma arvore de diretório.

[pastacode lang=”python” message=”” highlight=”” provider=”manual”]

for dirpath, dirnames, filenames in os.walk(os.curdir):
    for fp in filenames:
        print os.path.abspath(fp)

[/pastacode]

Variáveis de ambiente

[pastacode lang=”python” message=”” highlight=”” provider=”manual”]

import os

os.environ.keys()
os.environ['PYTHONPATH']
os.getenv('PYTHONPATH')

[/pastacode]

shutil: operações de alto nível em arquivos

O módulo glob fornece práticas correspondências para padrões de arquivos.

Por exemplo, procure todos os arquivos terminados em .txt:

[pastacode lang=”python” message=”” highlight=”” provider=”manual”]

import glob

glob.glob('*.txt')

[/pastacode]

Módulo sys : informações específicas do sistema

Informações específicas do sistema relacionadas ao interpretador Python.

Qual versão do python você está rodando e onde ela está instalada:

[pastacode lang=”python” message=”” highlight=”” provider=”manual”]

sys.platform
sys.version
sys.prefix

[/pastacode]

Lista de argumentos passados a um script python via linha de comandos:

[pastacode lang=”python” message=”” highlight=”” provider=”manual”]

sys.argv

[/pastacode]

sys.path é uma lista de strings que especificam os caminhos de busca para módulos. Inicializados no PYTHONPATH:

[pastacode lang=”python” message=”” highlight=”” provider=”manual”]

sys.path

[/pastacode]

pickle: persistência fácil

Útil para armazenar objetos arbitrários em um arquivo. Não rápido ou seguro!

[pastacode lang=”python” message=”” highlight=”” provider=”manual”]

import pickle

l = [1, None, 'string']
pickle.dump(l, file('teste.pkl', 'w'))
pickle.load(file('teste.pkl'))

[/pastacode]