【问题标题】:Using format instead of f string [duplicate]使用格式而不是 f 字符串 [重复]
【发布时间】:2020-06-25 04:06:54
【问题描述】:

我有 python 3.7.4,它有 f 字符串支持。但是我正在移植我的数据的服务器具有 python

directory_root = 'dataset_test/'

root_dir = listdir(directory_root)
for animal_folder in root_dir:
        animal_folder_list = listdir(f"{directory_root}/{animal_folder}")

但此代码在服务器中失败,因为它不支持 f 字符串。我怎样才能使用格式重写它?

【问题讨论】:

  • 我建议阅读并关注str.format() 文档。它永远不会失败。
  • @DYZ 我已阅读文档但无法解决。谢谢

标签: python python-3.x


【解决方案1】:

你可以这样写:

listdir("{directory_root}/{animal_folder}".format(directory_root=directory_root, animal_folder=animal_folder))

或者

listdir("{}/{}".format(directory_root, animal_folder))

【讨论】:

    【解决方案2】:

    您可以简单地使用字符串格式,如下所示 "Your string {0} {1}...{}".format(variable1, variable2, variable)

    【讨论】:

      【解决方案3】:

      适用于各种环境的正确方法是:

      animal_folder_list = listdir(os.path.join( directory_root, animal_folder))
      

      当您明确指定文件夹分隔符 (/) 时,它将在 Win-boxes 或其他敌对环境中中断。 os.path.join() 来救援 =)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多