相关疑难解决方法(0)

如何在iPython笔记本中调用用argparse编写的模块

我试图将BioPython序列传递给Ilya Stepanov在iPython笔记本环境中实现Ukkonen的后缀树算法.我在argparse组件上遇到了绊脚石.

我之前从未直接与argparse打过交道.如何在不重写main()的情况下使用它?

通过这个,这个Ukkonen算法的写法非常棒.

python bioinformatics suffix-tree ipython biopython

24
推荐指数
4
解决办法
2万
查看次数

是否可以使用argparse捕获任意一组可选参数?

是否可以使用argparse捕获任意一组可选参数?

例如,以下两者都应被接受为输入:

python script.py required_arg1 --var1 value1 --var2 value2 --var3 value3

python script.py required_arg1 --varA valueA --var2 value2 --varB valueB
Run Code Online (Sandbox Code Playgroud)

先验我不知道将指定哪些可选参数接收但会相应地处理它们.

python argparse

21
推荐指数
1
解决办法
4215
查看次数

Python多重处理使用argparse和pyinstaller引发错误

在我的项目中,我使用argprse传递参数,而在脚本中的某个地方使用多重处理来完成其余的计算。如果我从命令提示符处调用脚本,则脚本工作正常。

python complete_script.py --arg1=xy --arg2=yz”。

但是在使用Pyinstaller使用命令“ pyinstaller --onefile complete_script.py”将其转换为exe后,它将抛出

错误

“错误:无法识别的参数:--multiprocessing-fork 1448”

任何建议,我如何使这项工作。或任何其他选择。我的目标是创建一个exe应用程序,可以在未安装Python的其他系统中调用该应用程序。

以下是我的工作站的详细信息:

Platform: Windows 10
Python : 2.7.13 <installed using Anaconda>
multiprocessing : 0.70a1
argparse:   1.1
Run Code Online (Sandbox Code Playgroud)

从评论中复制:

def main():
     main_parser = argparse.ArgumentParser()
     < added up arguments here>
    all_inputs = main_parser.parse_args()
    wrap_function(all_inputs)


def wrap_function(all_inputs):
    <Some calculation here >
   distribute_function(<input array for multiprocessing>)

def distribute_function(<input array>):
    pool = Pool(process = cpu_count)
    jobs = [pool.apply_async(target_functions, args = (i,) for i in input_array)]
    pool.close()
Run Code Online (Sandbox Code Playgroud)

python pyinstaller python-2.7 argparse python-multiprocessing

2
推荐指数
2
解决办法
1585
查看次数