Transcrição do áudio
Vamos agora falar de módulos, os principais módulos que nós vamos usar aqui em sistemas operacionais. Bom, sempre você vai começar seu script em sistemas operacionais importando OS e SIS. O SHU TIL, talvez você precise, tá? Vamos lá, deixa eu colocar meu fone de ouvido aqui do lado, legal. Então, você sempre começa importando OS e SIS porque você vai dar manutenção no sistema operacional. Então é natural que você vai precisar de interagir com ele, certo? São dois módulos básicos, tá? E você consegue usar esses módulos, tem algumas discrepâncias entre o mundo Linux e o mundo Windows. E você até consegue utilizar, beleza? Vamos dar aqui uma olhada em alguns, como eu posso dizer assim, algumas funcionalidades, tá? Vamos imaginar aqui que você precisa de pegar o nome do seu sistema operacional para saber, por exemplo, se você está no Linux ou no Windows. Não, você às vezes precisa de fazer algo diferente no mundo Windows e algo diferente no mundo Linux. Certo? Então, ao utilizar print, por exemplo, OS.name em ambos os sistemas operacionais, tanto no Windows como no Linux, no Windows vai aparecer POSIX, já no Linux. No Windows vai aparecer NT. Cara, o Windows desde o NT 4.0... Deixa eu tomar um gole de café, peraí. Desde o NT 4.0, galera... Ele é isso aí, tá? Ele é a evolução disso aí. Cara, fantástico. Não vou criticar, não, tá? Fantástico. Fantástico. Para quem viu a linha 9X, bom, vai falar aqui, agora sim, porra, é fantástico, é fantástico, tá? Você pode obter mais detalhes sobre um sistema operacional. Por exemplo, o name, OS.name. Vai aparecer... Vai aparecer ali o tipo de sistema operacional, a distribuição, vai aparecer se ele é 64-bits, se ele é 32-bits somente, a arquitetura, no caso, né? Aqui eu estou utilizando em um Debian e aqui eu estou utilizando em uma distribuição que eu esqueci o nome. É um Linux que eu esqueci o nome. Legal? Não importa. Aí é que tá, né? Existem ali muitas distribuições Linux, muitos nomes, muitos detalhes que podem aparecer ali. E isso talvez é o que vai complicar. Mas você consegue rodar na internet e localizar tabelas. Por exemplo, NodeName, que sistema operacional é esse? Aí ele vai falar. Beleza. Aí vai falar... Deixa eu ver... É um Runix. Provavelmente é um Runix. Bom... Já no Windows você vai ter um Acception. Isso é bom. Então você sabe se é um Windows, você não espera nenhuma informação. Se é Linux, você espera alguma informação. Porque o Windows é um grande monolítico que não muda há muito tempo como ele é, entendeu? Então se é Windows, você trata da mesma forma sempre. Linux é que tem as várias distribuições e isso, né, traz ali um grande problema. Então... Esse comando não é um comando Python, é um comando Bash clássico. PrintEnv. Então ele vai colocar ali detalhes do sistema. Você pode também, por Python, pegar utilizando GetEnv ou Environ. Environ, cochete, o nome da variável que você quer pegar. Por exemplo, se você pegar Shell e você colocar aqui, ó, Environ, cochete, aspas simples, Shell. Shell, aspas simples, cochete, ele vai ter que exibir barra bin, barra bash como string. Então você pode manipular. E essas variáveis de caixa de areia do environment, eles são aqui, né, colocados para o pai e os processos filho. Então, você cria uma variável dessa no processo pai, chama os processos filho e os processos filho, eles conseguem obter essas variáveis. E os valores que estão dentro dessas variáveis. E é uma forma de comunicação interprocessos. Então, variáveis no environment é uma forma de comunicação interprocessos, sim. Legal? Lembrando que você pode destruir essa caixa de areia. Destruindo tudo isso, os pais, o pai e os filhos. E aí eu te digo uma coisa importante que você tem que saber. Quando você cria uma nova variável de ambiente. Dentro da caixa de areia. Essa variável de ambiente ela é criada para dentro da caixa de areia. Ou seja, ela não impacta no sistema operacional. Ou seja, essa caixa de areia ela vai ser excluída. E com isso, aquela variável de ambiente que você criou ali em tempo de execução. Também não existirá mais naquela caixa de areia. Muito menos ela vai existir em outra caixa de areia. Ou em sistemas operacionais. Mesmo quando essa caixa de areia estiver carregada. Beleza? Então, cara. Você pode criar a vontade. Tá? É muito simples. Você pode simplesmente colocar assim. OS.environ. Cochete aspas simples. O seu rótulo. Aspas simples. Cochete igual. O valor. Como se você estivesse colocando valores em um array. Só que em vez de informar a posição do array. Você informa um label. Da variável que você quer criar. Criou, cara. Você pode alterar. Mas dentro da caixa de areia. Tá? E você também pode utilizar ali com o OS. Comandos clássicos do Bash. Cara, eu não gosto. Porque fica difícil. Vou explicar. Bash. São décadas. De caras customizando comandos. Python não. Então você vai ver em Python. Comandos extremamente verbosos. Comandos complexos. De parâmetros complexos. Difícil. É mais fácil. Você executar um comando Bash. No próprio Bash. Do que usar comandos aqui. Por exemplo. Pô cara. Lá no Bash. Nós usamos números. Letrinhas. O que eu tenho que usar? Fala aí cara. Olha o que eu tenho que usar. Né? Ah cara. Complexo isso aqui, bicho. Difícil usar isso aqui. Tá? Ó. chmod. write. read. Né? E o grupo pode. Acho que executar. Cara. Ridículo, cara. Tá ok? Então. Eu não utilizo comandos. Mas se você precisar automatizar. Hoje em dia com a IA é tão fácil. Né? Talvez com a IA isso vire. Isso vire um universo. Eu prefiro fazer um script. Chamar o Python. E chamar. O Python chama o script Bash. Passando os argumentos corretamente. E lá eu faço. O jabacolê. Muito melhor. E também eu vou falar sobre SubProcess. Que é uma forma de executar comandos. E você pode usar. SubProcess. E. Olhar o resultado. O chow. Ah. O chow também. Tá. Tá aqui ó. Tem tantos outros comandos. Beleza? Então. No próximo vídeo. Eu vou falar sobre path. No mundo. Né? Do Python. Até lá. Até mais. Tchau.