python - Jupyter Notebook 中的变量仅在单元格内有效
问题描述
我有一个变量,我在 jupyter 的一个单元格中使用,但是当我在下一个单元格中调用它时,它说找不到该变量
在从子文件读取数据之前,我尝试创建变量的实例。我尝试创建另一个与第一个相同的变量,并在下一个单元格中使用该变量。
if os.path.isfile("cointegration.json"):
with open("cointegration.json", "r") as f:
cointegration_mv = json.load(f)
else:
cointegration_mv = {}
for i in range(0, len(usd_pairs)):
pair_i = usd_pairs[i]
print(pair_i)
for j in range(0, i):
pair_j = usd_pairs[j]
print("\t+",pair_j)
if pair_i != pair_j:
code = pair_i + '_' + pair_j
print("\t\t=",code)
cointegration_mv[code] = get_cointegration(pair_i, pair_j)
json = json.dumps(cointegration_mv)
f = open("cointegration.json","w")
f.write(json)
f.close()
print(cointegration_mv.keys())
#This does print the keys
#The next cell
print(cointegration_mv.keys())
错误是:
NameError Traceback (most recent call last)
<ipython-input-15-7abb854e8cc9> in <module>
----> 1 print(cointegration_mv.keys())
NameError: name 'cointegration_mv' is not defined
即使我在读取数据之前创建了变量的实例(所以我希望键只是空的),并且当我尝试复制变量并传递副本时,也会发生这种情况。
解决方案
确保你已经运行了所有的单元格。
例如,如果在第一个单元格中定义了变量 x,您还必须运行该单元格。只有这样,变量才会被定义,准备好在所有单元格中使用。否则,它根本就不存在。
推荐阅读
- python - Get List of latest stable files from FTP server
- assembly - 有没有办法从 EL0 刷新 ARM 缓存?
- c - 如何通过全局变量更新数组元素值?
- ios - Xcode 可以在编辑器中通过代码将项目添加到情节提要吗?
- javascript - How do I disable scrolling when the hamburger menu is clicked? Then re-enable scrolling when an option is selected from the navigation menu
- c# - 每次刷新页面时都会触发 DataList 按钮
- python - How to change my script from an input in python
- r - 使用 dplyr 将所有行保持在 R 中的特定值
- ios - iOS 应用程序在升级正在运行的应用程序时会发生什么
- mysql - Laravel 迁移耗时过长