Python 使用我要转换为字符串的未初始化变量调用函数

Python 使用我要转换为字符串的未初始化变量调用函数,python,directory,args,Python,Directory,Args,我有点被一个可能很简单的问题所困扰。可能有几种方法可以解决这个问题,所以我想我应该向stackoverflow开放它,提出一些不同的方法。我的代码如下: import os root_directory = ('C:/path/to/files/') def directories(*dirs): for directory in dirs: print(os.path.join(str((root_directory, directory)))) direc

我有点被一个可能很简单的问题所困扰。可能有几种方法可以解决这个问题,所以我想我应该向stackoverflow开放它,提出一些不同的方法。我的代码如下:

import os


root_directory = ('C:/path/to/files/')


def directories(*dirs):
    for directory in dirs:
        print(os.path.join(str((root_directory, directory))))


directories(inbox, test)
我想把这个还给你:

('C:/path/to/files/inbox')
('C:/path/to/files/test')
但我得到了回溯:

Traceback (most recent call last):
  File "C:/path/to/files/python_file.py", line 24, in <module>
    directories(inbox, test)
NameError: name 'inbox' is not defined
我不想以字符串形式调用函数,即目录“收件箱”、“测试”

我正在尝试创建这个函数,它将根据函数的调用方式,查找数量可变的子目录。所以我可能会调用directoriesinbox,它会在收件箱文件夹中查找,或者我可能会调用directoriesinbox,test,它会在收件箱和test文件夹中查找


如有任何帮助/建议,将不胜感激

这将为您提供所需的输出: 这是您可以得到的最终输出

import os
root_directory = ("C:/Users/vjadhav6/Desktop/")
def directories(*dirs):
    for directory in dirs[0]:
        print(os.path.join(str(root_directory) , directory))

d = {"inbox":"inbox","test":"test"}
directories(d.values())


如果您既不声明变量inbox,也不将“inbox”作为字符串传递,您希望函数如何知道它的含义?您必须将目录指定为字符串。作为一种解决方法,您可以使用inbox=inbox。您可能需要解释为什么不想使用字符串。请查看我发布的解决方案。
import os
root_directory = ("C:/Users/vjadhav6/Desktop/")
def directories(*dirs):
    for directory in dirs[0]:
        print(os.path.join(str(root_directory) , directory))
inbox = "inbox"
test = "test"
directories(inbox, test)