当使用该全局变量作为文件名时,如何保留全局变量的值?

时间:2018-05-08 17:07:33

标签: python global-variables variable-assignment

我希望了解如何将一个全局变量赋值给另一个函数中的值,以便在用于追加文件时保留该值。附:这是我的代码的简化版本,没有办法让它们在同一个函数中。

def data():
    with open (username+'.txt','a') as f:
           f.write("\n")
def login ():
     username=input("What is your username. ")
     global username
login()
data()

虽然说明了我不允许使用用户名,但未定义用户名:

 with open (global username +'.txt','a') as f:
             f.write("\n")

所以我不知道如何保持价值。

1 个答案:

答案 0 :(得分:0)

您应首先在全局范围内声明变量,并且在使用该值之前应使用“全局变量”而不是之后。

这是给你的工作样本。

username = None

def data():
    global username
    username  = 'teste1'



def login():
    global username
    print('username before login : ', username)
    username = 'changed'
    print('username after login : ', username)


data()
login()