Top.Mail.Ru
Ответы

Как создать python-скрипт открывающий файл пользователя

Начал учиться,выбрал python и написал простенькую программу записывающую данные пользователья в отдельный txt файл на рабочий стол.Теперь стоит вопрос как сделать так чтоб по окончанию цикла открывался тот самый txt файл и закрывалась консоль

По дате
По рейтингу
Аватар пользователя
Мудрец

давай листинг погляжу ваяние твое ..чо добавлю может ..

Аватар пользователя
Ученик

на самом деле уже помогли решить проблему,но вот то что получилось:

123456789101112131415161718192021222324252627282930313233343536373839404142
import os
import shutil
import time
while True:
 print("Привет,это программа создающая твою анкету в отдельном файле,начнём?")
 Choice_start=input()
 Choice_start=Choice_start.lower()
 if Choice_start=="да":
  time.sleep(0.5)
  print("Смотри,нам нужны эти данные:\nФИО\nВозраст\nГород\nО тебе\nТак что давай начнём!")
  time.sleep(1.5)
  name_account=input("Твоё ФИО:")
  time.sleep(0.2)
  print("Прекрасное имя!")
  time.sleep(0.5)
  age_account=input("Сколько тебе полных лет:")
  time.sleep(0.2)
  print("Прекрасный возраст!")
  time.sleep(0.5)
  city_account=input("Твой город:")
  time.sleep(0.2)
  print("Прекрасное место,я бы его обязательно посетил")
  time.sleep(0.5)
  aboutme_account=input("Кратко о тебе:")
  time.sleep(0.2)
  print("Да ты уникальная личность!")
  print("Всё готово!")
  time.sleep(2.5)
  desktop_path = os.path.join(os.path.expanduser("~"), 'Desktop')
  file_name = os.path.join(desktop_path, "anceta.txt")
  anceta=(f"Привет,меня зовут {name_account},мне {age_account}.Я живу в городе {city_account}.{aboutme_account}")
  with open(file_name, 'w', encoding='utf-8') as file:
    file.write(anceta)
  try:
    os.startfile(file_name)
  except Exception as e:
    print(f"Произошла ошибка при открытии файла: {e}")
  break
 elif Choice_start!="да":
  print("что-то не то,попробуй снова")
  continue
Аватар пользователя
Ученик
Изменено

Чтобы решить твою задачу, предлагаю следующий пошаговый алгоритм действий

Шаг 1: Запись данных в файл

Для начала напишем код, который создаёт и сохраняет текстовые данные в файл output.txt на рабочем столе. Вот простой пример:

123456789101112
import os

# Получаем путь к рабочему столу
desktop_path = os.path.join(os.path.expanduser("~"), 'Desktop')
file_name = os.path.join(desktop_path, 'output.txt')

# Данные, которые хотим записать
data_to_write = "Это тестовая запись от Python!"

# Открываем файл для записи и сохраняем данные
with open(file_name, 'w', encoding='utf-8') as file:
    file.write(data_to_write)

Этот скрипт создаст файл на рабочем столе с именем output.txt, куда будут записаны указанные строки.

Шаг 2: Автоматическое открытие файла

Теперь сделаем так, чтобы этот файл автоматически открылся сразу же после завершения программы. Для этого мы можем воспользоваться функцией os.startfile() — она запускает ассоциированную программу для открытия файла (например, Notepad.exe для .txt файлов).

Вот как выглядит обновленный сценарий:

123456789101112131415161718
import os

# Путь к файлу на рабочем столе
desktop_path = os.path.join(os.path.expanduser("~"), 'Desktop')
file_name = os.path.join(desktop_path, 'output.txt')

# Записываем данные в файл
data_to_write = "Это тестовая запись от Python!\nПрограмма успешно завершила свою работу."

with open(file_name, 'w', encoding='utf-8') as file:
    file.write(data_to_write)

# Теперь откроем созданный файл
try:
    # Команда для автоматического открытия файла
    os.startfile(file_name)
except Exception as e:
    print(f"Произошла ошибка при открытии файла: {e}")

Что делает этот код:

  • После сохранения данных в файл, программа вызывает команду os.startfile(), которая открывает указанный файл стандартным приложением операционной системы.

Шаг 3: Закрытие окна консоли

По умолчанию окно консоли остаётся открытым даже после завершения скрипта. Чтобы оно автоматически закрылось, нужно запустить скрипт следующим образом:

Способ 1: Через командную строку (cmd)

Запустив Python-код через командную строку с параметром /c, можно закрыть консольное окно сразу после выполнения команды:

1
python my_script.py & exit

Эта команда выполнит твой скрипт и немедленно закроет окно консоли после окончания исполнения.

Способ 2: Скрыть окно консоли средствами Windows

Можно также написать специальный bat-файл, который запустит ваш Python-скрипт и скроет окно терминала. Создай новый батник (например, run.bat) и вставь туда следующее содержимое:

123
@echo off
start /b python your_script.py
exit

Таким образом, консоль откроется незаметно и закроется автоматически.

Итоговый скрипт:

Собрав всё вместе, вот полный вариант вашего сценария:

123456789101112131415161718
import os

# Получение пути к рабочему столу
desktop_path = os.path.join(os.path.expanduser("~"), 'Desktop')
file_name = os.path.join(desktop_path, 'output.txt')

# Данные для записи
data_to_write = "Это тестовая запись от Python!\nПрограмма успешно завершила свою работу."

# Запись данных в файл
with open(file_name, 'w', encoding='utf-8') as file:
    file.write(data_to_write)

# Открытие файла после записи
try:
    os.startfile(file_name)
except Exception as e:
    print(f"Произошла ошибка при открытии файла: {e}")

Просто сохрани этот скрипт и запусти его одним из предложенных способов, чтобы убедиться, что он работает именно так, как задумано



Видео по теме