栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python Project文件的架构总结

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python Project文件的架构总结

首先创建一个主文件夹,一般是自己方法的名字,我这里为了方便,取名叫test_project, 然后该文件里分别有以下文件

其中src文件夹是代码实现,
data文件夹是存储数据集的文件夹
result文件夹是存储结果的文件夹
dataset1.ipynb文件数据集1的运行结果
其中的结果如下

# 这里接受参数
import argparse
parser = argparse.ArgumentParser(description="train", formatter_class=argparse.ArgumentDefaultsHelpFormatter)

############################不同数据集修改这个参数即可#########################################
parser.add_argument("--dataname", default = "dataset", type = str)
#############################################################################################
parser.add_argument("--highly_genes", default = 500, type=int)
parser.add_argument("--pretrain_epochs", default = 1000, type=int)
parser.add_argument("--maxiter", default = 300, type=int)

args = parser.parse_args("")
dataset=args.dataname
print(dataset)

import sys
import os
sys.path.append(os.getcwd()+"/src") ## 这里就需要自己改动一下了,现在我的架构师这样的,如果
from welcome import g
g("dfsdf")
print("main fucntion")

import matplotlib.pyplot as plt
x=np.linspace(-2*np.pi,2*np.pi)
y=np.sin(x)
plt.plot(x,y)
plt.savefig("./result/图1.png")
plt.show()

不同的数据集就直接修改第一个参数的默认值即可,上面代码在jupyter中的运行结果如下
其中main_debug.py中的代码是

# 这里接受参数
import argparse

parser = argparse.ArgumentParser(description="train", formatter_class=argparse.ArgumentDefaultsHelpFormatter)
parser.add_argument("--dataname", default = "Quake_Smart-seq2_Limb_Muscle", type = str)
parser.add_argument("--highly_genes", default = 500, type=int)
parser.add_argument("--pretrain_epochs", default = 1000, type=int)
parser.add_argument("--maxiter", default = 300, type=int)

args = parser.parse_args()
dataset=args.dataname
print(dataset)

from welcome import g
g("dfsdf")
print("main fucntion")

这里main_debug.py和jupyter中的内容是一样的,这里之所以有这个文件是因为.py文件比较好调试,而ipynb文件不好调试,所以首先写好main_debug文件,然后复制到ipynb文件中即可

其中helper.py文件中的测试文件如下
这样一个完整的project代码框架就搭好了,所需要的是在src文件夹中实现自己所想要的东西

我这样组织好代码后,也可以直接在terminal中调用,不一定非得进入src文件夹进行运行,这样的组织方便接下来的打包流程
例如
这样也很方便调用

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/850733.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号