当前位置: 首页 > 面试题库 >

sys.argv [1],IndexError:列表索引超出范围

尹凌龙
2023-03-14
问题内容

我在以下Python代码部分遇到问题:

# Open/Create the output file
with open(sys.argv[1] + '/Concatenated.csv', 'w+') as outfile:

    try:
        with open(sys.argv[1] + '/MatrixHeader.csv') as headerfile:
            for line in headerfile:
                outfile.write(line + '\n')
    except:
        print 'No Header File'

具体的错误如下:

Traceback (most recent call last): File "ConcatenateFiles.py", line 12, in <module> with open(sys.argv[1] + 'Concatenated.csv', 'w+') as outfile:
IndexError: list index out of range

我已经进行了一些研究,似乎sys.argv在运行脚本时,可能在命令行中需要一个参数,但是我不确定要添加什么或可能是什么问题!我也搜索了该站点,但是我发现的所有解决方案都没有评论,并且/或者没有像我一样包含开放功能。

任何帮助是极大的赞赏。


问题答案:

sys.argv 表示执行脚本所使用的命令行选项。

sys.argv[0]是您正在运行的脚本的名称。所有其他选项都包含在中sys.argv[1:]

您正在尝试打开一个使用sys.argv[1](第一个参数)作为目录的文件。

尝试运行以下内容:

python ConcatenateFiles.py /tmp


 类似资料:
  • 我想用php发送数据,用python获取数据。但shell_exec无法发送参数。我不明白问题出在哪里。这并不能纠正我的错误 这是我的php文件 刚出现的派克 错误 内容类型:text/html 回溯(最近一次调用last):文件“C:\wamp\www\MLWebsite\website\new.py”,第15行,在x=sys中。argv1索引器错误:列表索引超出范围 请帮我解决这个问题

  • 问题内容: 我目前正在从一本名为《 Python绝对入门》(第三版)的书中学习python。书中有一个练习,概述了一个子手游戏的代码。我遵循了这段代码,但是我在程序的中间不断返回错误。 这是导致问题的代码: 这也是它返回的错误: 有人可以帮助我解决出现的问题以及如何解决该问题吗? 编辑:我像这样初始化so_far变量: 问题答案: 您好像缩进得太多了。尝试这个:

  • 我对Python代码的以下部分有问题: 具体错误如下: 我做了一些研究,似乎在运行脚本时可能需要命令行中的参数,但是我不确定要添加什么或者问题是什么!我也搜索了这个网站,但是我找到的所有解决方案要么没有评论,要么没有像我一样包含开放功能。 任何帮助都非常感谢。

  • 问题内容: 我正在尝试使用以下方法对一些信息进行编码以读入机器学习模型 但是我收到一个错误,内容为 问题答案: 此错误是由以下原因引起的: 此处的索引超出范围很可能是因为您的数据集中的列少于19个,因此第18列不存在。您提供的以下代码根本不使用Y,因此您现在可以注释掉此行。

  • 问题内容: 我在读取CSV文件时遇到此错误(无标题,3列,第二和第三字符串): 这是下面代码的一部分。坚持起来简直是愚蠢的简单事情,但是对于如何工作我只是空白。我是编码的新手,但是之前已经处理过csv模块,并且从来没有遇到过这方面的问题,只是在记事本中制作了一些测试csv文件,以查看是否可以从相同的代码中读取它,并且可以。我不知道。 问题答案: 尝试检查空白行。另外,请避免将其用作变量名。是打开的

  • 我得到一个错误: sys.argv[1]命令的索引超出范围。 我认识到sys.argv[0]将给我我的文件的名称,并且在这个if-elif-ther条件循环中,它显然将自己路由到他,这在我当前的应用程序中是不可取的。 我希望数据能打印出来,但事实并非如此。