如何将重复的代码移到助手文件中?

2024-04-25 18:53:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个Python脚本

  • 2011/2/dinner/dinner.py
  • 2014/qualification/cookie-clicker-alpha/cookie-clicker-alpha.py

它们都定义了相同的函数binary_search。为了便于维护,我想将该函数移到一个新文件中

  • helpers/binary_search.py

然后从dinner.pycookie-clicker-alpha.py导入它。我该怎么做?我正在使用Python3.x。你知道吗

最后,对我来说很重要的一点是python dinner.py仍然适合克隆我代码的人:

git clone https://github.com/hickford/codejam.git
cd codejam
cd 2011/2/dinner
python dinner.py sample.in

Tags: 文件函数pygitalpha脚本search定义
1条回答
网友
1楼 · 发布于 2024-04-25 18:53:51

可能最简单的解决方案是在2011/2/dinner/2014/qualification/cookie-clicker-alpha/中创建符号链接helpers/binary_search.py。然后两个目录中的脚本都可以import binary_search。你知道吗

另一个技巧是将几个模块压缩成一个“脚本”

cd 2011/2/dinner
mkdir tmp
cd tmp
cp ../dinner.py __main__.py
cp ../../../helpers/binary_search.py .
zip ../foo.zip *.py
cd ..
echo '#!/usr/bin/env python' >dinner
cat foo.zip >>dinner
chmod a+x dinner
rm -rf foo.zip tmp/

当“晚餐”程序运行时,它将解压压缩的模块并运行__main__.py。我用过python2,但没用过python3。你知道吗

相关问题 更多 >