【问题标题】:Python Appending arguments with slice notationPython 使用切片表示法附加参数
【发布时间】:2017-11-29 00:40:05
【问题描述】:

您好,我正在尝试附加系统参数 2 的内容 - 不管参数 1 中输入了多少内容,这是我的代码

for arg in sys.argv[2:]:
    doc = open(arg, "r")
data2 = doc.read()
doc.close()

tu = open(sys.argv[1], "a")
tu.write(data2)
tu.close()

但是输入 3 个文件只会将文件 #3 添加到文件 #1 的末尾,不应该切片 [2:] 考虑所有参数,而不仅仅是最后一个?

【问题讨论】:

  • 你知道循环内唯一的一行是doc = open(arg, "r")吗?之后的一切都在循环之外。
  • 你应该在开头打开sys.argv[1],在最后关闭。
  • 缩进在 Python 中非常重要——这是你的问题,而不是切片。
  • 感谢大家的投入,在循环中放置更多行实际上并没有什么不同。将来我一定会更加努力地处理我的格式。

标签: python arguments append parameter-passing slice


【解决方案1】:

试试这个

data2=""
for arg in sys.argv[2:]:
    doc = open(arg, "r")
    data2 =data2+ doc.read()
    doc.close()

tu = open(sys.argv[1], "a")
tu.write(data2)
tu.close()

【讨论】:

  • 非常感谢,我从没想过在这种情况下使用 +,尽管过去曾用于其他方式。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-03-06
  • 2016-10-20
  • 2021-08-06
  • 2012-08-23
  • 1970-01-01
  • 1970-01-01
  • 2011-10-27
相关资源
最近更新 更多