Python возвращает относительный родительский каталог

Я запускаю сценарии из облачного каталога с нескольких компьютеров, поэтому по разным причинам требуется доступ к относительному пути, чтобы сохранить выходные данные в других различных относительных путях. Я ожидал, что следующий скрипт вернет корневой каталог в облаке, но вместо этого он возвращает не тип. Может кто-нибудь помочь мне понять, почему?

def get_relative_path(base_folder_name, current_path):
     import os

     parent = os.path.split(current_path)[0]
     print base_folder_name, os.path.split(current_path)[1]
     print type(base_folder_name), type(os.path.split(current_path)[1])

     if os.path.split(current_path)[1] == base_folder_name:
          return current_path
     else:
          get_relative_path(base_folder_name, parent)

import os
path = os.getcwd()
x = get_relative_path('cloud_folder', path)
print type(x)

скрипт возвращает:

cloud_folder child_folder
<type 'str'> <type 'str'>
cloud_folder cloud_folder
<type 'str'> <type 'str'>
<type 'NoneType'>

Я ожидал, что он вернет строку с относительным путем к облачной папке. Почему это?

1 ответ

Решение
 if os.path.split(current_path)[1] == base_folder_name:
      return current_path
 else:
      return get_relative_path(base_folder_name, parent)

вам нужно вернуть еще случай

Другие вопросы по тегам