@leham1

Почему при перестановке аргументов функции, аргументы принимают значения друг друг?

Почему при перестановке аргументов name и path в функции местами, они принимают значения друг друг. Раньше я переставлял именованные аргументы местами и все нормально работало, а сейчас какая-то глупость происходит.
так код работает:
def folder_bypass(path=r"C:\YandexDisk\товары\товаров фото", name='1466 ав213'):
    for i in os.listdir(path):
        if os.path.isdir(path + '\\' + i):
            folder_bypass(path + '\\' + i, name)
        if name == i:
            q1 = path + '\\' + i
            return q1

folder_bypass()


Такой код уже не работает:
<code lang="python">
def folder_bypass(name='1466 ав213', path=r"C:\YandexDisk\товары\товаров фото"):
    for i in os.listdir(path):
        if os.path.isdir(path + '\\' + i):
            folder_bypass(path + '\\' + i, name)
        if name == i:
            q1 = path + '\\' + i
            return q1

folder_bypass()
</code>

Эта ошибка выскакивает:
<code lang="python">
C:\Users\первый\AppData\Local\Programs\Python\Python38-32\python.exe C:/YandexDisk/бизнес/Python/proverkaSoobchenii/test_5.py
Traceback (most recent call last):
  File "C:/YandexDisk/бизнес/Python/proverkaSoobchenii/test_5.py", line 30, in <module>
    folder_bypass()
  File "C:/YandexDisk/бизнес/Python/proverkaSoobchenii/test_5.py", line 25, in folder_bypass
    folder_bypass(path + '\\' + i, name)
  File "C:/YandexDisk/бизнес/Python/proverkaSoobchenii/test_5.py", line 23, in folder_bypass
    for i in os.listdir(path):
FileNotFoundError: [WinError 3] Системе не удается найти указанный путь: '1466 авито213'
</code>
  • Вопрос задан
  • 81 просмотр
Решения вопроса 1
phaggi
@phaggi Куратор тега Python
лужу, паяю, ЭВМы починяю
Потому, что внутри, в 4 строке, первому аргументу присваивается значение path + ..., а второму значение name. Поменяйте их там местами, всё должно заработать.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы