2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3
 
 Re: Компилятор исполняет нужную команду, а файл - нет. Python
Сообщение05.07.2022, 12:45 


27/09/19
189
upgrade в сообщении #1559395 писал(а):
t = int(input())
print('Good luck1')
with open('file_for_writing.py','w') as tw:
m = int(input())
print('Good luck2')
n = int(input())
tw.write('Good attempt')

Чуть-чуть поменял код, так как в Вашем варианте не увидел даже гудлак1

Используется синтаксис Python
t = int(input())
print('Good luck1')
r = int(input())
with open('file_for_writing.py','w') as tw:
     m = int(input())
     print('Good luck2')
     n = int(input())
     tw.write('Good attempt')
n = int(input())


В таком варианте я увидел гудлак1, но только его.

 Профиль  
                  
 
 Re: Компилятор исполняет нужную команду, а файл - нет. Python
Сообщение05.07.2022, 12:46 
Экс-модератор
Аватара пользователя


23/12/05
12046
Используется синтаксис Python
import os

path_to_folder = 'your_path_to_folder'
filename = 'file_for_writing.py'
with open(os.path.join(path_to_folder, filename)) as tw:

 Профиль  
                  
 
 Re: Компилятор исполняет нужную команду, а файл - нет. Python
Сообщение05.07.2022, 12:49 


27/09/19
189
Ура!!! Спасибо большое Всем за помощь, теперь все сработало как нужно))) :D :D :D (просто вместо названия файла написал полный путь)

-- 05.07.2022, 12:53 --

Подскажите, пожалуйста, а как поменять путь по которому исполняются все команды на другой? (чтобы каждый раз не пришлось прописывать полный путь?)

 Профиль  
                  
 
 Re: Компилятор исполняет нужную команду, а файл - нет. Python
Сообщение05.07.2022, 12:54 
Экс-модератор
Аватара пользователя


23/12/05
12046
kot-obormot в сообщении #1559402 писал(а):
может просто у python нет прав создавать в этой папке файлы?
Скорее всего так и есть. Вообще, при записи файлов желательно еще делать обертку try - except
Используется синтаксис Python
t = int(input())
print('Good luck1')
filepath = 'file_for_writing.py'
try:
    with open(filepath, 'w') as tw:
        m = int(input())
        print('Good luck2')
        n = int(input())
        tw.write('Good attempt')
except OSError:
    print(f'Writing to {filepath} failed.')
    sys.exit()

 Профиль  
                  
 
 Re: Компилятор исполняет нужную команду, а файл - нет. Python
Сообщение05.07.2022, 13:03 


27/09/19
189
photon в сообщении #1559407 писал(а):
Скорее всего так и есть. Вообще, при записи файлов желательно еще делать обертку try - except

Спасибо! Это, чтобы перегружать систему невыполнимыми задачами?

 Профиль  
                  
 
 Re: Компилятор исполняет нужную команду, а файл - нет. Python
Сообщение05.07.2022, 13:11 
Экс-модератор
Аватара пользователя


23/12/05
12046
kot-obormot в сообщении #1559406 писал(а):
Подскажите, пожалуйста, а как поменять путь по которому исполняются все команды на другой? (чтобы каждый раз не пришлось прописывать полный путь?)

Пути обычно либо прописываются в каком-нибудь конфиг-файле, либо передаются в качестве аргумента при вызове скрипта.
Например так:
Используется синтаксис Python
import argparse
import sys

if __name__ == '__main__':

    parser = argparse.ArgumentParser()
    parser.add_argument('dst_path', type=str, help='path for saving the result')
    args = parser.parse_args()
    try:
        with open(args.dst_path, 'w') as tw:
            tw.write('Good attempt')
    except OSError:
        print(f'Writing to {args.dst_path} failed.')
        sys.exit()


Но теперь при вызове через командную строку вариант с запуском просто как программы не пройдет - ей в качестве аргумента надо дать путь.

Другой вариант - можно менять рабочий каталог, тогда писаться будет в него
Используется синтаксис Python
import os

os.chdir(path_to_folder_you_want)
 


лично я бы указывал в качестве аргумента к скрипту путь к выходной папке (а не конкретному файлу), а дальше формировал путь для сохранения при помощи os.path.join()

-- Tue Jul 05, 2022 12:12:46 --

kot-obormot в сообщении #1559408 писал(а):
Это, чтобы перегружать систему невыполнимыми задачами?

Нет, это чтобы отлавливать и при необходимости корректно обрабатывать возникающие проблемы, которые без этого молчаливо крашнут вашу программу.

 Профиль  
                  
 
 Re: Компилятор исполняет нужную команду, а файл - нет. Python
Сообщение05.07.2022, 14:29 


27/09/19
189
Понял, спасибо большое!

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 37 ]  На страницу Пред.  1, 2, 3

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group