【问题标题】:python how to pass array value into file open requestpython如何将数组值传递给文件打开请求
【发布时间】:2016-01-20 23:44:32
【问题描述】:

大家好,我希望能够将单词列表传递到 for 循环中,我怎样才能使下面的代码工作

list = ['word1','word2','word3']
for x in list
      with open('folder/{x}.txt') as fin:
      do something()

【问题讨论】:

  • 你想在这里实现什么?为什么将变量命名为 list
  • “将单词列表传递到for 循环”是什么意思?您不会将事物传递到循环中。你所说的“工作”是什么意思——你到底想用你发布的(无效的)代码做什么,你在哪里卡住了?

标签: python arrays for-loop


【解决方案1】:

应该这样做:

word_list = ['word1','word2','word3']
for x in word_list:
    with open('folder/{x}.txt'.format(x=x)) as fin:
         do something()

我做了两个改变:

  • 在 for 语句后添加一个忘记的冒号
  • .format(x=x) 添加到字符串中。这是python的string interpolation机制

【讨论】:

  • 完美!非常感谢,当时间限制过去时标记正确
  • 很好奇为什么这被否决 - 似乎回答了这个问题。
  • 嗯...有 2 个反对票...可能是因为这是一个仅代码的答案。 rtemperv,仅代码的答案(意味着答案中只有一个(工作)代码)不是很有帮助。请解释“您的代码如何以及为什么起作用,以及为什么 OP 的代码不起作用(有时)”。
  • 我最初对它投了反对票,因为您没有添加冒号。我颠倒了这个,虽然你称之为分号。
  • 通常的要求:在你修复代码时修复错误的(阅读:内置的踩踏)变量名。名为list 的变量令人头疼。
【解决方案2】:

您缺少一个冒号。 with 子句也需要一些工作。以下是修复for循环末尾冒号部分的方法:

list = ['word1','word2','word3']
for x in list:
    print(x)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-30
    • 2020-10-23
    • 2020-05-25
    • 2020-02-25
    • 2019-02-01
    • 2017-01-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多