Chatbot - Como abrir programas e arquivos externos
Neste vídeo ensino como executar programas do sistema operacional e abrir arquivos de extensões diversas com os devidos programas pelo Python. Para isso utilizamos o módulo 'sys' para identificar o sistema operacional, 'os' para executar programas e abrir arquivos no windows e o 'subprocess' no sistema GNU/Linux.
Infelizmente, não existe nenhum comando no Python que consegue executar programas ou arquivos que funciona em todos os sistemas operacionais. Então, dependendo do sistema operacional, vamos ter que escrever o código diferentemente. Mas, felizmente, isso não é complicado!
Identificando o Sistema Operacional
Primeiramente vamos identificar em qual sistema o nosso script está rodando. Para isso vamos importar o módulo sys:
import sys
Agora podemos identificar o sistema da seguinte maneira:
sys.platform
Isso nos dará o nome da plataforma em que estamos rodando. No meu caso, esse comando devolve 'linux'. Mas se você estiver no Windows, ele mostrará 'win32' ou 'cygwin' No Mac irá aparecer 'darwin' e assim por diante.
Após identificar qual o sistema que estamos, vamos aprender a abrir programas e arquivos em cada plataforma.
Windows
Para executar programas ou abrir arquivos no Windows, vamos utilizar o módulo 'os':
import os
Para abrir um programa, precisamos chamar a função 'startfile' com o caminho completo do programa que desejarmos abrir. Se o programa estiver no PATH (caminho padrão), é só digitar o nome do programa.
os.startfile('notepad.exe') # Se estiver no caminho
os.startfile('C:\Program Files (x86)\Google\Chrome\Application\chrome.exe') # Se não estiver no caminho
Para sites, precisamos colocar o endereço completo:
os.startfile("https://hashldash.github.io")
Linux
No linux vamos utilizar o módulo subprocess:
import subprocess as s
A parte 'as s' no código acima é para simplificarmos o nome do módulo. Ou seja, ao invés de escrever 'subprocess' quando formos chamar o comando do módulo, vamos apenas escrever 's'.
Para executar um programa, podemos utilizar o comando shell que abre o programa. Por exemplo:
s.Popen('chromium')
Irá abrir o navegador chromium, e assim por diante. Para abrir arquivos, podemos utilizar o comando 'xdg-open' do Linux para escolher um programa adequado para abrir o arquivo. Por exemplo:
s.Popen(['xdg-open','https://hashldash.github.io']) # para site
s.Popen(['xdg-open','planilha.xls']) # para arquivos
No vídeo eu dou um exemplo de como utilizar estes comandos, implementando a abertura e execução de programas no chatbot.
Faça o download dos arquivos desta aula aqui.