Criar arquivo txt e salvar algo dentro em Python

Tem q ser em Phyton

O while deveria vir dentro do try e n√£o o contr√°rio. Olha como eu fiz:

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

public class Program {
  public static void main(String... args) {
    try {
      int i = 0;
      FileWriter myWriter = new FileWriter(new File("A.txt"));

      while (i < 100) {
        i = i + 1;
        System.out.println(i);
        myWriter.write(String.valueOf(i) + '\n');
      }

      myWriter.close();
    } catch (IOException e) {
      System.out.println("Erro");
      e.printStackTrace();
    }
  }
}

Eu usei o m√©todo String.valueOf() porque se n√£o transformar o n√ļmero em String, vc vai ver um monte de caracteres estranhos quando abrir o arquivo num editor.

Aproveitando: Desde o Java 7 que a gente n√£o precisa mais chamar o m√©todo close() em v√°rias situa√ß√Ķes como a que vc fez. Podemos usar o recurso chamado try-with-resources, ficaria assim:

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

public class Program {
  public static void main(String... args) {
    try (FileWriter myWriter = new FileWriter(new File("A.txt"))) {
      for (int i = 1; i <= 100; i++) {
        System.out.println(i);
        myWriter.write(String.valueOf(i) + '\n');
      }
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}
2 curtidas

No seu t√≥pico inicial, voc√™ escreveu ‚ÄúEM JAVA‚ÄĚ no t√≠tulo e na categoria escolheu Java.
:wink:

Inclusive o trecho de código que você postou, que o @wldomiciano aperfeiçoou, era em Java.

1 curtida

Vc usa a função open() e write() para escrever. Aqui está um exemplo bem simples:

myfile = open('text.txt', 'w')

for i in range(1, 101):
  myfile.write("%s\n" % i)

myfile.close()

Você pode usar with, que garante que o arquivo é fechado ao final - seria equivalente ao try-with-resources do Java:

with open('arquivo.txt', 'w') as arq:
    for i in range(1, 101):
        arq.write(f'{i}\n')

E para escrever os n√ļmeros usei f-string, dispon√≠vel desde o Python 3.6 - o operador % ainda funciona mas a pr√≥pria documenta√ß√£o desencoraja o uso:

The formatting operations described here exhibit a variety of quirks that lead to a number of common errors (such as failing to display tuples and dictionaries correctly). Using the newer formatted string literals, the str.format() interface, or template strings may help avoid these errors.

1 curtida

Desculpem pelo embaraço, e obrigado pela ajuda consegui entender aonde eu estava errando