Python组织和参考技巧

时间:2020-08-25 13:59:08

标签: python jupyter-lab

我正在尝试通过组织代码的方式来学习更多的Python语言。我有一个文件结构,可以根据自己的组织需求使用。现在,我想使用一个功能,我发现自己可以复制/粘贴并创建自己的文件,可以从任何笔记本的顶部轻松地导入该文件。

我最初在每个项目文件夹中都有一个“代码”文件夹,但这太重复又麻烦了。

希望找出:将文件放置在哪里,以便可以将其导入,以及每当我向.py文件中添加新代码时“更新”内容的最简单方法。每次编辑更改时,我都总是需要运行setup.py吗?

示例目录结构:

.
├── client_projects/
│   ├── clientA/
│   │   ├── project1/
│   │   │   ├── data/
│   │   │   │   ├── inputdata.csv
│   │   │   │   └── referencedata.csv
│   │   │   ├── notebooks/
│   │   │   │   ├── Data Prep.ipynb
│   │   │   │   ├── Exploratory Data Analysis.ipynb
│   │   │   │   └── Modeling.ipynb
│   │   │   └── artifacts/
│   │   │       ├── model.pkl
│   │   │       ├── preprocessor.pkl
│   │   │       ├── vars_to_drop.list
│   │   │       └── vars_to_keep.list
│   │   └── project2/
│   │       ├── data/
│   │       │   └── original.csv
│   │       ├── notebooks/
│   │       │   └── Exploratory Data Analysis.ipynb
│   │       └── artifacts
│   └── clientB/
│       └── project1/
│           ├── data/
│           │   ├── inputdata.csv
│           │   └── referencedata.csv
│           ├── notebooks/
│           │   ├── Data Prep.ipynb
│           │   ├── Exploratory Data Analysis.ipynb
│           │   └── Modeling.ipynb
│           └── artifacts/
│               ├── model.pkl
│               ├── preprocessor.pkl
│               ├── vars_to_drop.list
│               └── vars_to_keep.list
└── internal_projects/
    ├── Project_ABCDE/
    │   ├── data/
    │   │   ├── inputdata.csv
    │   │   └── referencedata.csv
    │   ├── notebooks/
    │   │   ├── Data Prep.ipynb
    │   │   ├── Exploratory Data Analysis.ipynb
    │   │   └── Modeling.ipynb
    │   └── artifacts/
    │       ├── model.pkl
    │       ├── preprocessor.pkl
    │       ├── vars_to_drop.list
    │       └── vars_to_keep.list
    └── project2/
        ├── data/
        │   └── original.csv
        ├── notebooks/
        │   └── Exploratory Data Analysis.ipynb
        └── artifacts

我想在自己的个人代码库中拥有示例函数,以便可以导入它:

def myfunction(df, param1):
    return df

0 个答案:

没有答案