Quero solicitar a um usuário que vários números aleatórios sejam gerados e salvos em um arquivo. Ele deu-nos essa parte. A parte que temos que fazer é abrir esse arquivo, converter os números em uma lista, depois encontrar a média, desvio padrão, etc. sem usar as ferramentas fáceis Python embutidas.
I'tentei utilizar open
mas isso me dá uma sintaxe inválida (o nome do arquivo que escolhi foi "numbers" e ele salvou em "My Documents"
automaticamente, então tentei open(numbers, 'r')
e open(C:\name\MyDocuments\numbers, 'r')
e nenhum deles funcionou).
f = open("file.txt")
lines = f.readlines()
Olha para aqui aqui. readlines()
retorna uma lista contendo uma linha por elemento. Note que estas linhas contêm o \n' (novo caractere da linha) no final da linha. Você pode retirar este novo caractere de linha utilizando o método
strip()-method. Ou seja, chame
lines[index].strip()` para obter a string sem o caractere da nova linha.
Como joaquin observou, não se esqueça de f.fechar()
o arquivo.
Converter strint em inteiros é fácil: int("12")
.
Você precisa passar um fio de nome de arquivo para "abrir". Aí'é uma complicação extra quando a string tem `nela, porque isso'é um caractere especial de fuga de string para Python. Você pode corrigir isso dobrando cada um como `````` ou colocando um
r` na frente da string como a seguir: "r'C:{\i1}nome'{\i}meuDocuments{\i}numbers'{\i}
Edit: As edições da pergunta tornam-na completamente diferente da original, e como nenhuma delas era do poster original I'não tenho a certeza de que eles'estejam guerreados. No entanto, ele aponta uma coisa óbvia que pode ter sido ignorada, e que's como adicionar "My Documents" a um nome de arquivo.
Numa versão inglesa do Windows XP, My Documents
is actually C:\Documents and Settings
my Documents. Isto significa que a chamada
open` deve ser parecida:
open(r"C:\Documents and Settings\name\My Documents\numbers", 'r')
Presumo que você'esteja utilizando XP porque você o chama de Meu Documentos
- ele mudou no Vista e no Windows 7. Eu não'não sei se existe'é uma maneira fácil de procurar isto automaticamente em Python.