pyqt5写一个修改其他py文件的变量数据,停止运行后不改变的程序
时间: 2023-04-03 08:04:41 浏览: 59
可以使用Python的内置模块ast来实现修改其他py文件的变量数据。具体实现方法可以参考以下代码:
```python
import ast
# 读取需要修改的py文件
with open('file.py', 'r') as f:
tree = ast.parse(f.read())
# 遍历语法树,找到需要修改的变量
for node in ast.walk(tree):
if isinstance(node, ast.Assign) and isinstance(node.targets[0], ast.Name) and node.targets[0].id == 'variable_name':
node.value = ast.Num(123) # 修改变量的值
# 将修改后的语法树重新写入py文件
with open('file.py', 'w') as f:
f.write(ast.unparse(tree))
```
这样就可以实现修改其他py文件的变量数据,停止运行后不改变的程序。
相关问题
pyqt5修改其他py文件的变量数据,停止运行后不改变的程序
我可以回答这个问题。在 Python 中,如果你想要修改其他 py 文件中的变量数据,可以使用 importlib.reload() 函数重新加载该文件,然后再修改变量数据。但是,如果程序停止运行后,变量数据没有改变,可能是因为你没有将修改后的数据保存到文件中。你可以使用 pickle 模块将数据保存到文件中,以便下次运行程序时可以读取到修改后的数据。
pyqt实现点击按钮保存对另一个py文件变量修改
可以使用Python内置的pickle模块将变量序列化并保存到文件中,然后在另一个py文件中读取该文件并反序列化变量。具体实现可以参考以下代码:
```python
import pickle
# 将变量保存到文件中
with open('data.pkl', 'wb') as f:
pickle.dump(variable, f)
# 在另一个py文件中读取文件并反序列化变量
with open('data.pkl', 'rb') as f:
variable = pickle.load(f)
```
其中,`variable`是需要保存的变量,`data.pkl`是保存变量的文件名。