【问题标题】:What is the process of this program written in Python?这个程序用 Python 写的过程是怎样的?
【发布时间】:2026-01-03 07:00:02
【问题描述】:

我必须了解一个程序的过程,该程序看起来像是测量多个重复大小的乘法性能。

我试图执行该程序,但从输出中没有任何线索可以理解它。我需要帮助如何使用这个程序,请告诉我它的输入和输出。

import sys
import numpy as np
import matplotlib.pyplot as plt

if len(sys.argv) != 2:
    print ("usage:", sys.argv[0], "<filename>")
    exit()

a = np.loadtxt(sys.argv[1])

print(a)

list1, list2 = zip(*a)
plt.plot(list1, list2)
plt.show()

当我执行上面的代码时,它的输出如下。

$ python sample.py
usage: sample.py <filename>

按照答案试用

我已经执行了如下程序。 “sample.py”的代码没有变化。 如何修复错误以及 fileToRead.txt 中的相应内容是什么?

$ python sample.py fileToRead.txt
3.1415926535
Traceback (most recent call last):
  File "arrmultbysize.py", line 24, in <module>
    list1, list2 = zip(*a)
TypeError: iteration over a 0-d array

fileToRead.txt

3.1415926535

【问题讨论】:

  • 不是代码错误...请做一些基础研究

标签: python python-3.x input output


【解决方案1】:

看来您是编程世界的新手。 "sys.argv" 用于接受命令行参数

  • 当您以“python sample.py”运行时,变量 sys.argv 将是单个元素列表,即 ["sample.py"]
  • len(sys.argv) 在这种情况下为 1

该程序的预期工作是:

  • 当您以“python sample.py fileToRead.txt”运行时,变量 sys.argv 将是一个包含两个元素的列表,即 ["sample.py","fileToRead.txt"]
  • len(sys.argv) 在这种情况下为 2

【讨论】:

  • 感谢您的回答。在您对我的问题帖子的回答之后,我添加了我的试用版。如果您能给我额外的提示或错误提示,我将不胜感激。
最近更新 更多