python - 如何修改另一个python文件中的变量?

标签 python variables module

Windows 10 - python 3.5.2

嗨,我有以下两个 python 文件,我想使用第一个 python 文件中的代码编辑第二个文件的变量。

第一个文件.py

from X.secondfile import *

def edit():
    #editing second file's variables by user input
if Language == 'en-US':
    print('language is English-us')
elif Language == 'en-UK':
    print('language is English-uk')

第二文件.py
Language = 'en-US'

我可以通过以下代码向其中添加一些变量,但是如何编辑一个?
with open("secondfile.py","a") as f:
    f.write("Language = 'en-US'")

任何想法如何做到这一点?

最佳答案

您可以嵌入 Language在第二个文件中的一个类中,该类具有更改它的方法。
模块 2

class Language:
    def __init__(self):
        self.language = 'en-US'
    
    def __str__(self):
        return self.language

    def change(self, lang):
        assert isinstance(lang, str)
        self.language = lang

language = Language()
然后导入“语言”,并用change方法进行更改。
模块 1
from module2 import language

print(language)
language.change("test")
print(language)

关于python - 如何修改另一个python文件中的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39425762/

相关文章:

bash - 在 Bash 中选择随机变量

unit-testing - 如何为未导出的函数编写单元测试?

python - 如何修复 python3.4 中没有名为 parse 的模块

python - 如何在 Pygame 中淡入和淡出文本

python - 如何调试 Matplotlib 中的散点图?

java 。用户的输入通过实例变量在主类中起作用,但在其他类中不起作用

VBA:按变量选择范围

python - 在 IPython 之外使用 Anaconda 模块

python - 使用内插新值将 python numpy 数组的长度加倍

python - 在 Scikit-Learn 中使用非线性 SVM 时出错