在python中使用一个函数的变量到另一个函数

时间:2017-03-22 08:23:06

标签: python function inheritance

我有一个功能:

def main():
    bla bla bla...
    output_name = 'Employee'
    bla bla bla...

我有另一个功能:

def tocsv(path):
xls_file = pd.ExcelFile(path)

names = xls_file.sheet_names    

for items in names:     
    df = xls_file.parse(items)
    out_file = output_name + '.csv'
    df.to_csv(out_file, sep='\t',index=False,header=False, quoting=csv.QUOTE_NONE )

我需要在第一个函数main()中定义的变量'output_name'中的文件名。这样我的输出文件将被命名为“Employee.csv”。我该怎么做?提前致谢

1 个答案:

答案 0 :(得分:0)

如果变量在函数内定义,则变量存储在本地范围内。要在多个函数中使用变量,有两种方法可以做到这一点,

首先:将output_name设置为全局变量:

def main():
    global output_name
    output_name = 'Employee'

第二:在调用tocsv()时传递参数:

def main():
    output_name = 'Employee'
    tocsv(path, output_name) # if you're calling it from main

def tocsv(path, output_name): # and set tocsv to take output_name as an argument
    # do stuff