我看到这%run filepath.py
让我可以在 .py 文件中执行代码。但是,它似乎只接受不带引号的路径或用 引用的路径"
,而不接受将评估为路径的表达式。例如这些工作:
%run ../some/dir/script.py
%run "../some/dir/script.py"
但这些不会:
%run '../some/dir/script.py'
ERROR:root:File `"'../some/dir/script.py'.py"` not found.
%run "../some/dir/" + "script.py"
ERROR:root:File `'../some/dir/.py'` not found.
paths[1]
'../some/dir/script.py'
%run paths[1]
ERROR:root:File `'paths[1].py'` not found.
我推断这与魔术命令在 IPython 中的作用或作用有关。但是,我不太了解 Python 中的路径或评估顺序,无法理解文档中将在何处描述此行为或弄清楚这不会事先起作用。
所以问题是:.py
鉴于我知道或可以用os.listdir
其他东西构建它们的路径,从 Jupyter 笔记本运行许多文件的最佳方法是什么?有没有另一种方法来运行一堆代码?我对魔法命令和路径的工作原理有什么误解,导致我期望我可以做类似的事情%run paths[1]
?
所有建议都表示赞赏,Python 方式的新手。
编辑:我不想在笔记本中提供个人方法或功能,这似乎是创建模块的目的。这些脚本都在创建特定的大型列表对象(Earth Engine FeatureCollections),并且实际上不应该是可重用的代码,它们只是大块文本。每行的前几行示例:
CLEAR_20160129T072832 = ee.FeatureCollection(
[ee.Feature(
ee.Geometry.Polygon(
[[[43.29505920410156, 7.921873929606968],
[43.29814910888672, 7.8878678877391515],
[43.335227966308594, 7.883106818446446],
[43.341064453125, 7.9072516750710635],
[43.33179473876953, 7.925614422980302],
[43.297462463378906, 7.920853789152566]]]),
{
数百行令人作呕。