怎么安排多个python项目都用到的函数或者模块?

我之前完成了一个项目,这开展第二个项目的过程中发现,由于两个项目有一些功能是重复了,所以可以借用第一个项目的函数或者模块。那么就有了这个问题,怎么安排多个python项目都用到的函数或者模块?我想到了一下几种可能都解决方案,并且选择了一个适合我自己都方案。

答案: 把共用的函数和模块抽取独立出来,组建一个新的第三方模块,这样2个项目都可以调用了。

再问:如何组建第三方模块?
答案:一种就是直接打包发布到pypi,作为共有包,然后其他项目都可以流畅地下载。第二种就是把共有的模块放到一个文件夹,加一个__init__.py文件组成本地的包然后其他项目每次调用这个包的时候都要事先指定一下路径。第一种的缺点就是打包发布比较麻烦,而且你的几个项目引用了这个自定义包之后别人还得学习你这个包的内容(?),第二种的缺点就是两个项目发布之前必须把本地的包想办法一同集成一下再发布,不然你指定的路径别人下载之后没法用。而且自己本地的代码其实也是偶尔会改变路径的,比如不同服务器啊什么的。所以最终我个人选择第一种方法,一方面联系,熟悉pypi发布包的流程,规范化自己的代码。另一方面一次放不之后保证其他项目调用的绝对是同一个文件,避免同步问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中,要打开并遍历文件夹,你可以使用以下函数和库: 1. os 模块:提供了与操作系统交互的功能,包括文件和文件夹的操作。你可以使用 os 模块中的函数来获取文件夹中的文件列表、创新文件夹等。 - `os.listdir(path)`:返回指定路径下的文件和文件夹列表。 - `os.path.join(path, *paths)`:将多个路径组合成一个完整的路径。 - `os.path.isdir(path)`:检查给定路径是否为文件夹。 2. glob 模块:用于查找符合特定模式的文件路径名。它使用了似于正则表达式的模式匹配来查找文件。 - `glob.glob(pathname)`:返回所有匹配指定模式的文件路径列表。 3. pathlib 模块:提供了更简洁、面向对象的方式来处理文件和文件夹路径。 - `pathlib.Path(path)`:创一个 Path 对象,表示给定路径。 - `Path.iterdir()`:返回一个迭代器,用于遍历目录中的所有项。 下面是一个示例代码,演示如何使用这些函数和库来打开并遍历文件夹: ```python import os import glob from pathlib import Path # 使用 os 模块 folder_path = 'path/to/folder' # 列出文件夹中的所有文件和文件夹 file_list = os.listdir(folder_path) for file_name in file_list: file_path = os.path.join(folder_path, file_name) if os.path.isdir(file_path): print(f'{file_name} 是文件夹') else: print(f'{file_name} 是文件') # 使用 glob 模块 pattern = 'path/to/folder/*.txt' # 获取匹配指定模式的文件列表 file_list = glob.glob(pattern) for file_path in file_list: print(file_path) # 使用 pathlib 模块 folder_path = Path('path/to/folder') # 遍历目录中的所有项 for item in folder_path.iterdir(): if item.is_dir(): print(f'{item.name} 是文件夹') else: print(f'{item.name} 是文件') ``` 请注意,以上只是一些常用的函数和库,你还可以根据具体需求选择其他适合的函数和库。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值