【问题标题】:How to iterate a list of filepaths or just one element filepath [duplicate]如何迭代文件路径列表或仅一个元素文件路径[重复]
【发布时间】:2021-09-23 00:26:08
【问题描述】:

我有一个工作代码,它获取文件路径列表并迭代地读取它们。例如:

class moveDcmNrrd4mJson_v3(object):
  def __init__(self, jsonList, dataPath, dframe):
     self.jsonList = jsonList #providing a list
     self.dataPath = dataPath
     self.dframe = dframe

  def MoveFiles(self):
     for jsonidx, jsonpath in enumerate(self.jsonList):
        print("\n")
        print(">>> Reading {} of {} json file: {}".format(jsonidx+1, len(self.jsonList), os.path.basename(jsonpath)))

当列表中有多个文件路径时有效。 例如,当: ['/media/banikr2/CAP_Exam_Data0/CAP Session Backups/wilist_all_MV_20180914-1053.json', '/media/banikr2/CAP_Exam_Data0/CAP Session Backups/wilist_all_MV_20180914-1418.json', '/media/banikr2/CAP_Exam_Data0/CAP Session Backups/wilist_all_MV_20180914-1452.json', '/media/banikr2/CAP_Exam_Data0/CAP Session Backups/wilist_all_MV_20180914-1517.json', '/media/banikr2/CAP_Exam_Data0/CAP Session Backups/wilist_all_MV_20180914-1705.json']

我想让它在只有单个文件路径时工作。例如,当我使用相同的 enumerate 循环调用 jsonList[-1] 时。现在循环只是遍历路径 ASCII 字符。

调用代码为:

A = moveDcmNrrd4mJson_v3(jsonList[2], capDir, df) # only one filepath
A.MoveFiles()

我在post 中看到了一些建议,但我并不完全清楚。

【问题讨论】:

  • 如果你只有一个路径,把它变成一个单元素列表并遍历它。
  • 你能演示一下吗? list(jsonList[-3]) 只计算字符数。有什么叫islist的吗?
  • 这取决于你如何调用函数。请同时粘贴来电代码。
  • @LeiYang 我已经扩展了问题,希望它能更好地解决我想要的问题。
  • 只有一个文件名时请粘贴调用者代码。

标签: python list


【解决方案1】:

您似乎将单个路径作为字符串而不是列表传递。确保它作为列表传递。如果这不能为您解答,您能否分享更多关于 jsonList 的信息?

【讨论】:

  • 请不要发布 cmets 和问题作为答案。
  • ['/media/banikr2/CAP_Exam_Data0/CAP Session Backups/wilist_all_MV_20180914-1053.json', '/media/banikr2/CAP_Exam_Data0/CAP Session Backups/wilist_all_MV_20180914-1418.json', '/media/banikr2/CAP_Exam_Data0/CAP Session Backups/wilist_all_MV_20180914-1452.json', '/media/banikr2/CAP_Exam_Data0/CAP Session Backups/wilist_all_MV_20180914-1517.json', '/media/banikr2/CAP_Exam_Data0/CAP Session Backups/wilist_all_MV_20180914-1705.json'] 这是jsonList,有 5 个文件路径,适用于我的代码。但我想让它适用于像 jsonList[2] 这样的单一路径,我知道这是 str
  • @DYZ,如果他实际上将单个路径作为字符串传递,这不是答案(或者真的是许多答案之一)吗?如果我省略最后一句话来对冲我的答案,会更容易接受吗? banikr,是否有理由不简单地将单个字符串转换为列表?
  • 我不知道为什么这个问题没有澄清就关闭了。这是传递一个文件路径字符串,但另一个问题只是数字,这是两个不同的东西
  • @banikr 它是一回事。一个数字的列表的构造与一个字符串的列表完全相同。
猜你喜欢
  • 1970-01-01
  • 2020-08-15
  • 2020-02-11
  • 2012-01-25
  • 2016-11-29
  • 1970-01-01
  • 2010-11-07
  • 2012-09-28
  • 1970-01-01
相关资源
最近更新 更多