2013-09-27 171 views
1

我的问题是如何在python中初始化全局字符串变量 例如,当我执行以下操作时。Python - 定义全局字符串变量

24 def global_paths(): 
25   global RUN_PATH 
26   global BASE_PATH 
27   global EXE_SUFIX 
28   global SPEC_PATH 
29   global cmd_list 
30 
31   global RUN_PATH = "/run/run_base_ref_amd64-m64-gcc43-nn.0000/" 
32   global BASE_PATH = "/SPECcpu2006/1.1/cdrom" 
33   global EXE_SUFIX = "_base.amd64-m64-gcc43-nn" 
34   global SPEC_PATH = BASE_PATH + "/benchspec/CPU2006/" 
35   global cmd_list = {} 

我得到的错误:

global RUN_PATH = "/run/run_base_ref_amd64-m64-gcc43-nn.0000/" 
        ^
SyntaxError: invalid syntax 

什么是错误的,我在做什么?

问题类似于this

回答

5

你不需要创建全局变量时添加额外的global。你只需要在创建变量(如您已完成)前全球化,然后就可以正常创建:

def global_paths(): 
    global RUN_PATH 
    global BASE_PATH 
    global EXE_SUFIX 
    global SPEC_PATH 
    global cmd_list 

    RUN_PATH = "/run/run_base_ref_amd64-m64-gcc43-nn.0000/" 
    BASE_PATH = "/SPECcpu2006/1.1/cdrom" 
    EXE_SUFIX = "_base.amd64-m64-gcc43-nn" 
    SPEC_PATH = BASE_PATH + "/benchspec/CPU2006/" 
    cmd_list = {} 
2

全球不用于定义与全球范围内的一个变量,而是使已经全局命名空间中的全局变量将被标记为全局到您当前的执行上下文,在您的情况下,这将是global_paths函数