首页 > 解决方案 > 无法使用python中的参数更改函数内部的全局变量

问题描述

import pickle
    
    name = 'something'
    
    def save(variable, value):
        obj = str(value)
        file = f'{variable}.pkl'
        fileObj = open(file, 'wb')
        pickle.dump(obj, fileObj)
        global variable
        variable = value
        fileObj.close()
    
    def read(variable):
        file = f'{variable}.pkl'
        with open(file, 'rb') as oFile:
            content = pickle.load(oFile)
            print(content)
            oFile.close()
    
    save(name, 'else')
    print('!! > ',name)
    read(name)

错误: 文件“h:/PythonProjects/Python.py”,第 10 行全局变量 SyntaxError: name 'variable' is used before global declaration

关于如何使用参数更改全局变量的任何建议?

标签: pythonvariablesparameterspickle

解决方案


在使用全局语句之前,需要先定义一个全局变量...

variable = None

def bla():
    global variable
    variable = 22

推荐阅读