0

我看到这%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]]]),
            {

数百行令人作呕。

4

0 回答 0