Oii César, tudo bem com você?
Para inserir novas palavras no arquivo, você pode usar o modo "a+". Com ele, você conseguirá ler um arquivo já existente e adicionar novas palavras. Os modos permitidos para a abertura de um arquivo são:
Porém, quando abrimos um arquivo com o modo "a", o cursor será posicionado no final do arquivo.
Como o cursor está posicionado no final do arquivo, concorda que não terá dado algum para ler? Então, quando formos efetuar a leitura do arquivo, teremos que dizer para o Python que queremos que o cursor esteja no início e fazemos isso com o seek
, passando como parâmetro o número 0. Ou seja, o cursor será posicionado na primeira letra do arquivo:
Agora, com o cursor posicionado na primeira letra do arquivo conseguiremos ler os dados que há para frente.
Tendo em vista isso, teremos que alterar pequenas coisas no seu código atual.
- A primeira delas é mudar o modo de leitura "r" para "a+":
arquivo = open('funcionarios.txt', "a+")
- Posterior isso, caso você deseje fazer a leitura dos dados que já existem no arquivo, terá que posicionar o cursor no início:
arquivo.seek(0)
- E agora, caso queira adicionar novos dados, basta fazer
arquivo.write("Novo Funcionário")
Código completo alterado:
import random
arquivo = open('funcionarios.txt', "a+")
arquivo.seek(0)
lista = []
for linha in arquivo:
linha = linha.strip()
lista.append((linha))
arquivo.write("Novo Funcionário\n")
arquivo.close()
rodizio_semana = random.sample(lista, k=5)
print(rodizio_semana)
O arquivo de texto e código não precisam estar na mesma pasta, podem estar em qualquer local do seu computador. E quando estiverem em pastas diferentes, você terá que passar o caminho completo de onde se encontra o arquivo. Exemplo:
open('/home/nadia/Development/forum/dados/funcionarios.txt', "a+")
A função open abrirá arquivos de texto e arquivos binários. Os arquivos de texto são estruturados com uma sequência de linhas, em que cada linha inclui uma sequência de caracteres. Um arquivo binário é qualquer tipo de arquivo que não seja um arquivo de texto. Devido à sua natureza, os arquivos binários podem ser processados apenas por softwares que compreendem a estrutura do arquivo. Em outras palavras, eles devem ser softwares que podem ler e interpretar binários.
César, se houver ficado qualquer dúvida fique a vontade para perguntar. Estou a disposição. Abraços e bons estudos!