Рейтинг:0

Как создать новый файл на основе кода Python через терминал?

флаг ae

Я новый пользователь Линукса. Я написал программу на Python с циклом, который выполняется 10 раз и каждый раз печатает одну строку. Я сохранил его как print.py. Теперь я хочу использовать терминал, чтобы убедиться, что распечатка сохранена в новом файле.

Код, который я использую:

счетчик = 1
пока счетчик <= 10:
print("Это строка", счетчик)
счетчик = счетчик +1

Однако я не знаю, как перейти из программы, которую я сохранил как print.py через терминал, в новый файл «результат».

флаг ru
Ну, во-первых, ваш код недействителен, так как скопирован/вставлен в ваш пост. Вы немедленно получите сообщение об ошибке отступа, потому что элементы в цикле while должны иметь отступ. Во-вторых, не думали ли вы просто открыть файл в Python и записать результат в файл, предварительно уничтожив все, что там есть?
Рейтинг:2
флаг pr

Вы можете перенаправить вывод вашей программы с помощью оператора >.Затем вывод записывается в данный файл вместо терминала:

python3 print.py > результат

Обратите внимание, что текст не добавляется, а заменяет текущее содержимое файла. Если вы хотите добавить вывод в файл, используйте оператор >>.

Также есть способ получить вывод на терминал и в файле, чтобы вы могли видеть, что происходит. Просто передайте вывод команде тройник и он распечатает его на ваш терминал и в файл. Вы можете представить эту команду как Т-образный канал, который перенаправляет вход на два выхода.

печать python3.py | тройник результат

Опять же, это перезапишет текущее содержимое вашего файла.

Рейтинг:0
флаг cn

Скопируйте и вставьте следующее в файл test.py

#!/usr/bin/env python3
#
счетчик = 1
пока счетчик <= 10:
   print("Это строка", счетчик)
   счетчик = счетчик + 1

Теперь запустите команды

chmod +x test.py
./test.py > вывод.txt

Вывод должен быть

это строка 1
это строка 2
это строка 3
это строка 4
это строка 5
это строка 6
это строка 7
это строка 8
это строка 9
это строка 10
флаг ru
Это выводится в командную строку, но я думаю, что они хотят это в файле.
Thomas Aichinger avatar
флаг cn
Да, вы правы, я забыл перенаправить его. Просто исправил это.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.