加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 将字符串传递给模块“一次”

发布时间:2020-12-20 11:40:51 所属栏目:Python 来源:网络整理
导读:我的问题很简单:我只需要将一个字符串(路径和文件名)只传递给一个模块,以便该模块中的函数使用.换句话说,函数需要一个路径(和文件名)才能工作,每次调用函数时传递该字符串都是不切实际的. 有没有一种方法我可以实际传递一次字符串(可能稍后在脚本中更改它)
我的问题很简单:我只需要将一个字符串(路径和文件名)只传递给一个模块,以便该模块中的函数使用.换句话说,函数需要一个路径(和文件名)才能工作,每次调用函数时传递该字符串都是不切实际的.

有没有一种方法我可以实际传递一次字符串(可能稍后在脚本中更改它)并保存它以某种方式保存在模块中供以后使用?

解决方法

您只需在模块中设置全局:

variable_to_use = None

def funcA():
    if variable_to_use is None:
        raise ValueError('You need to set module.variable_to_use before using this function')
    do_something_with(variable_to_use)

variable_to_use对模块中的所有代码都是全局的.其他代码可以这样做:

import module_name

module_name.variable_to_use = 'some value to be used'

不要试图使用module_name import variable_to_use,因为它会创建一个本地引用,然后反弹,使模块全局不变.

您可以在函数中封装全局设置:

def set_variable_to_use(value):
    global variable_to_use
    variable_to_use = value

并使用该函数而不是直接设置模块全局.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读