2015-01-20 32 views
0

我从几台计算机的云目录运行脚本,因为各种原因需要访问相对路径以将输出保存在其他各种相对路径中。我预计下面的脚本会返回云目录的根目录,但它会返回一个无类型的。任何人都可以帮我理解为什么?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) 

你需要返回其他情况下,也