2014 dxdy logo

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

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




На страницу Пред.  1, 2, 3
 
 Re: Компилятор исполняет нужную команду, а файл - нет. Python
Сообщение05.07.2022, 12:45 
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 
Аватара пользователя
Используется синтаксис 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 
Ура!!! Спасибо большое Всем за помощь, теперь все сработало как нужно))) :D :D :D (просто вместо названия файла написал полный путь)

-- 05.07.2022, 12:53 --

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

 
 
 
 Re: Компилятор исполняет нужную команду, а файл - нет. Python
Сообщение05.07.2022, 12:54 
Аватара пользователя
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 
photon в сообщении #1559407 писал(а):
Скорее всего так и есть. Вообще, при записи файлов желательно еще делать обертку try - except

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

 
 
 
 Re: Компилятор исполняет нужную команду, а файл - нет. Python
Сообщение05.07.2022, 13:11 
Аватара пользователя
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 
Понял, спасибо большое!

 
 
 [ Сообщений: 37 ]  На страницу Пред.  1, 2, 3


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group