Уведомления

Группа в Telegram: @pythonsu

#1 Март 6, 2021 14:14:44

Dmitriy_Z
Зарегистрирован: 2020-12-03
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

func() missing 1 required positional argument

Добрый день. Подскажите что не так?

 def func(file_open:'C:/Users/hp/Documents/питон/вставка номера коспар и названия ИСЗ/результат_1.txt', file_new:'C:/Users/hp/Documents/питон/вставка номера коспар и названия ИСЗ' ):
    '''
    функция сделана для частного случая
    :param file_open:путь к исходному файлу
    :param file_new: путь к новому файлу
    :return: "ок"
    '''
    target1 = r'(?<=^1\s)\d{5}'# это выбираем
    target2 = r'(?<=^2\s)\d{5}'# вместо этого вставляем
    copy = None
    sec = int(time.time())
    if file_new is None:# название сохраняемого файла по умолчанию
        file_new = f'new_data_{sec}.txt'
    with open(file_new,'a') as new_file:
        with open(file_open,'r') as file:
            strings = file.readlines()
            for s in strings:
                search = re.findall(target1,s)
                if search:
                    copy = search[0]
                if copy is not None:
                    s = re.sub(target2,copy,s)
                new_file.writelines(s)
    return "ok"
func('C:/Users/hp/Documents/питон/вставка номера коспар и названия ИСЗ/готовый_ТЛЕ.txt')

Офлайн

#2 Март 6, 2021 14:31:44

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

func() missing 1 required positional argument

Dmitriy_Z
Подскажите что не так?
0: При программировании необходимо понимать, и уметь объяснять смысл КАЖДОЙ написанной вами буквы. У вас похоже это не так. Остальное следствия
1. Вам надо почитать книжку по основам синтаксиса. Вы книжечку какую читаете?
2. Когда у вас есть сообщение об ошибке надо его прочесть и понять что вам пишут. Вы разобрались, перевели что там написано?
аргументы по умолчанию надо задавать так:
 def a(b="as"):
  ....



Отредактировано doza_and (Март 6, 2021 14:33:12)

Офлайн

#3 Март 6, 2021 14:42:45

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

func() missing 1 required positional argument

это слешей не считая



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Офлайн

#4 Март 6, 2021 18:45:05

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1370
Репутация: +  121  -
Профиль   Отправить e-mail  

func() missing 1 required positional argument

вот так было написано

 def func(file_open:str,file_new:str=None):

через двоеточие означает что аргумент должен быть тип str (string),т.е строка,а не число,это только как подсказка

для присваивания нужен знак =

 file_open='имя_файла(или\\полныый\\путь\\имя_файла'

если пишешь путь используй r перед строкой

 file_open=r'C:\Users\hp\Documents\питон\вставка номера коспар и названия ИСЗ\результат_1.txt'

и в назавниях избегай пробелов и кирилицы лучше через _

Отредактировано xam1816 (Март 6, 2021 18:56:33)

Онлайн

#5 Март 6, 2021 20:51:40

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

func() missing 1 required positional argument

AD0DE412
это слешей не считая
со слешами там все ок, пайтон кушает пути вида d: /path/to/file.txt



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Март 6, 2021 20:51:49)

Офлайн

#6 Март 6, 2021 22:38:18

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

func() missing 1 required positional argument

PEHDOM
со слешами там все ок
и то верно, показалось что .. d:\path\to\file.txt



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Офлайн

#7 Март 7, 2021 05:31:50

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9880
Репутация: +  853  -
Профиль   Отправить e-mail  

func() missing 1 required positional argument

PEHDOM
со слешами там все ок, пайтон кушает пути вида d: /path/to/file.txt
Эти пути легальны для винды. Питон их не переделывает.



Офлайн

#8 Март 7, 2021 10:24:31

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

func() missing 1 required positional argument

py.user.next
Эти пути легальны для винды. Питон их не переделывает.
Пайтон их не переделывает, но вот насчет легальности я бы поспорил. Венда сама преобразовывает “/” в “\”, формально это не делает пут легальным, просто там вшита “защита от дурака”.
https://docs.microsoft.com/ru-ru/dotnet/standard/io/file-path-formats
в некоторых случаях это может не сработать. Пути к устройствам которые начинаются со знака вопроса, а не с точки не нормализуются. Но в таком случае и пайтон их “не скушает”.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Март 7, 2021 10:28:09)

Офлайн

#9 Март 7, 2021 11:15:55

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9880
Репутация: +  853  -
Профиль   Отправить e-mail  

func() missing 1 required positional argument

PEHDOM
просто там вшита “защита от дурака”.
https://docs.microsoft.com/ru-ru/dotnet/standard/io/file-path-formats
Это инфа по .NET
Вот тут инфа по оболочкам винды wiki. path



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version