将 cprofile 与输入文件一起使用

Posted

技术标签:

【中文标题】将 cprofile 与输入文件一起使用【英文标题】:using cprofile with input files 【发布时间】:2020-06-10 14:44:56 【问题描述】:

我应该运行以下命令来分析 rsa.py 中的函数

python -m cProfile -s time rsa.py < tests/1verdict32.in

我假设这个文件在 rsa.py 的输入文件中使用了 tests/1verdict32.in。 但我不熟悉 cProfile 如何将文件作为输入 有人可以向我解释这应该如何工作吗?特别是上面一行中“

ps:目录结构是

WD/ -rsa.py -hello.py -tests/ -1verdict_32.in

当我运行上面的命令时,它给出“系统找不到指定的文件”错误 但是当我在文件 hello.py 上使用探查器时它可以工作 即对于命令:python -m cProfile -s time hello.py

【问题讨论】:

【参考方案1】:

你有一个错字。

您的文件是1verdict_32.in,并且您正尝试传入1verdict32.in,不带下划线。这就是你的 shell 抱怨的原因。

除此之外,< ... 是一个简单的 shell 重定向运算符;这意味着 shell(bash、zsh、fish、cmd、...)打开文件 ... 并将其写入进程的标准输入(在 Python 中为 sys.stdin)。

【讨论】:

以上是关于将 cprofile 与输入文件一起使用的主要内容,如果未能解决你的问题,请参考以下文章

Spyder 分析器使用 cProfile 还是 Profile?

cProfiler 与多处理一起工作很奇怪

cProfile ,如何将数据记录到文件中

使用 Argument Parser 的函数上的 cProfile

Pandas:如何将 cProfile 输出存储在 pandas DataFrame 中?

python文件带参数时如何使用cProfile mod?