Почему программа питон закрывается

Прежде чем начать работать с файлом, первое, что нужно сделать, это открыть его. Это делается путем вызова встроенной функции open() . Она имеет единственный обязательный аргумент, который представляет путь к файлу filename , но чаще всего используется с двумя аргументами и возвращает объект file object :

>>> fp = open(‘filename’, ‘w’)

Первый аргумент filename — это строка, содержащая имя файла.

Второй аргумент mode — это другая строка, содержащая несколько символов, описывающих способ использования файла. режим может быть, ‘r’ когда файл будет только читаться, ‘w’ только для записи (существующий файл с таким же именем будет удален) и ‘a’ открывается файл для добавления, любые данные, записанные в файл, автоматически добавляются в конец. Режим ‘r+’ открывает файл для чтения и записи. Аргумент mode является необязательным. По умолчанию будет предполагаться, что файл открыт на чтение, если mode опущен.

Обычно файлы открываются в текстовом режиме, то есть вы читаете и пишете строки из файла и в файл, которые закодированы в определенной кодировке. Если кодировка не указана, по умолчанию используется кодировка платформы (смотрите описание встроенной функции open() ). При добавлении в аргумент mode литерала ‘b’ файл открывается в двоичном режиме. Теперь данные читаются и записываются в виде байтовых объектов. Этот режим следует использовать для всех файлов, которые не содержат текст.

Как открыть файл с расширением py в Python IDLE 3.10 ?

В текстовом режиме, используемом по умолчанию, при чтении файла выполняется преобразование концовок строк, эти преобразования зависят от платформы. Символы конца строки n в Unix, rn в Windows, в значение n . При записи файла записи в текстовом режиме по умолчанию выполняется преобразование вхождений n обратно в концовки строк, соответствующие платформам. Эта закулисная модификация данных подходит для текстовых файлов, но будет повреждать двоичные данные, такие как файлы JPEG или EXE . Будьте очень осторожны, используя двоичный режим при чтении и записи таких файлов.

Читайте также:
Ошибки скрытые в программе

Рекомендуется использовать контекстный менеджер with при работе с файловыми объектами. Преимущество заключается в том, что файл правильно закрывается после завершения, даже если в какой-то момент возникает исключение. Использование with также намного короче, чем писать эквивалентные try-finally блоки:

>>> with open(‘filename’) as fp: . read_data = fp.read() # Мы можем проверить, что файл был автоматически закрыт. >>> fp.closed # True

Если вы не используете ключевое слово with , то вам следует вызвать fp.close() , чтобы закрыть файл и немедленно освободить все системные ресурсы, используемые им. Если вы явно не закроете файл, сборщик мусора Python в конечном итоге уничтожит объект и закроет открытый файл для вас, но файл может оставаться открытым некоторое время. Другой риск заключается в том, что не закрытый файл может привести к нежелательному поведению, включая утечку ресурсов. Так что лучше всего убедиться, что ваш код ведет себя определенным образом, что уменьшает риск нежелательного поведения.

Как сделать, чтобы окно черепашки turtle не закрывалось после выполнения программы

Правильный способ закрыть файл не используя инструкцию with это использовать блок try-finally :

>>> fp = open(‘filename’) >>> try: . # Дальнейшая обработка файлов идет здесь . read_data = fp.read() >>> finally: . fp.close()

После закрытия объекта file object с помощью оператора with или вызова функции fp.close() в блоке try-finally попытки использовать объект file автоматически завершатся неудачей.

>>> fp.close() >>> fp.read() # Traceback (most recent call last): # File «», line 1, in # ValueError: I/O operation on closed file.

  • ОБЗОРНАЯ СТРАНИЦА РАЗДЕЛА
  • Составление пути к файлу в Unix и Windows.
  • Открытие/закрытие файла для чтения/записи.
  • Типы обрабатываемых данных и файлов.
  • Способы чтения открытого файла.
  • Способы записи в открытый файл.
  • Одновременное чтение из одного и запись в другой файл.
  • Добавление данных в открытый файл..
  • Управление указателем чтения/записи в файле.
  • Создание менеджера для обработки файла.
  • Сохранение словарей в формат JSON.
  • Встроенные модули для работы с разными форматами.
Читайте также:
Лучшие программы для восстановления операционной системы

Источник: docs-python.ru

Почему моя программа Python Python закрывается сразу после запуска?

Я пытаюсь сделать игру, используя Pygame. Но программа закрывается сразу после запуска. Я следовал учебному пособию по YT и скопировал функцию точно так, как она была, но все равно получил ошибку. Вот код:

import pygame
import sys
import random as rd

pygame.init()

width = 800
height = 600

red = (255, 0, 0)
black = (0, 0, 0)
blue = (0, 0, 255)

playerPosition = [400, 500]
playerSize = 35

enemySize = 50
enemyPosition = [rd.randint(0, width — enemySize), 0]
enemySpeed = 10

screen = pygame.display.set_mode((width, height))
title = pygame.display.set_caption(«Dodge Game by Ishak»)

def collision(playerPosition, enemyPosition):
playerX = playerPosition[0] # player x coordinate
playerY = playerPosition[1] # player y coordinate

enemyX = enemyPosition[0] # enemy x coordinate
enemyY = enemyPosition[1] # enemy y coordinate

if (enemyX >= playerX and enemyX < (playerX + playerSize)) or (playerX >= enemyX and playerX < (enemyX + enemySize)):
if (enemyY >= playerY and enemyY < (playerY + playerSize)) or (playerY >= enemyY and playerY < (enemyY + enemySize)):
return False
return True

clock = pygame.time.Clock()

gameOver = False
# game loop
while not gameOver:

# QUIT
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()

# keyboard
if event.type == pygame.KEYDOWN:

x = playerPosition[0]
y = playerPosition[1]

if event.key == pygame.K_RIGHT:
x += 13
elif event.key == pygame.K_LEFT:
x -= 13

playerPosition = [x, y]

if enemyPosition[1] >= 0 and enemyPosition[1] < height:
enemyPosition[1] += enemySpeed
else:
enemyPosition[0] = rd.randint(0, width — enemySize) # sets a random postion of the enemy
enemyPosition[1] = 0

if collision(playerPosition, enemyPosition):
gameOver = True

screen.fill(black)

pygame.draw.rect(screen, red, (playerPosition[0], playerPosition[1], playerSize, playerSize)) # player shape
pygame.draw.rect(screen, blue, (enemyPosition[0], enemyPosition[1], enemySize, enemySize)) # enemy shape

clock.tick(30)

pygame.display.update()

Эта проблема возникла после того, как я добавил функцию столкновения и внедрил ее в основной игровой цикл, но я не могу понять, что с ней не так.

Читайте также:
Как компьютер понимает программу написанную на языке

спросил(а) 2020-03-17T12:21:33+03:00 3 года, 3 месяца назад

Источник: progi.pro

Как запустить скрипт python после закрытия терминала? [дубликат]

оно работает нормально, но после того, как я закрою окно ssh, которое я использовал для удаленного подключения к моему VDS, скрипт больше не работает.

Как запустить мой test.py, чтобы он работал 24 7?

задан Andrew Nevskiy 8 August 2020 в 02:10

1 ответ

Вы можете использовать команду nohup :

nohup python test.py когда он включен, фоновым процессам будет отправлено SIGHUP. Итак, nohup — это правильный путь.

Источник: askubuntu.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru