Python从函数调用循环变量

Python从函数调用循环变量,python,function,calling-convention,Python,Function,Calling Convention,我四处寻找过类似的问题,但它们不起作用,因为我的代码略有不同 我有一个变量,它在while循环中分配一个文件名,我想在另一个函数中使用这个文件名 问题是当我从另一个函数调用变量时;它重复“输入文件名” 因此,我想在savedata函数中使用文件名“输入要打开的文件名”,而不让它继续循环您希望能够将文件名作为参数传递给函数 您可以这样做: def savedata(file_name=None): if not file_name: file_name = loaddata

我四处寻找过类似的问题,但它们不起作用,因为我的代码略有不同

我有一个变量,它在while循环中分配一个文件名,我想在另一个函数中使用这个文件名

问题是当我从另一个函数调用变量时;它重复
“输入文件名”


因此,我想在
savedata
函数中使用文件名
“输入要打开的文件名”
,而不让它继续循环

您希望能够将文件名作为参数传递给函数

您可以这样做:

def savedata(file_name=None):
    if not file_name:
        file_name = loaddata()
    shutil.copyfile(file_name "CHECKED_v1.txt")
    print ("Saved Succesfully")

然后您可以调用
savedata()
,这将要求您手动输入文件名,或者您可以调用
savedata('/path/filename.txt')
,并且不会提示您输入文件名。

每次调用
loaddata()
将执行
输入
功能,这里没有奇怪的地方。您应该使用一个布尔标志,仅在特定条件下输入循环,例如
使用\u last\u filename=True
它进入
file\u name=loaddata()阶段
但随后它再次调用load data并返回到要求在循环中打开文件的步骤。您需要使用函数的参数调用savedata。
def savedata(file_name=None):
    if not file_name:
        file_name = loaddata()
    shutil.copyfile(file_name "CHECKED_v1.txt")
    print ("Saved Succesfully")