python requests 上传多文件问题

Prince0813
Prince0813
订阅者
285
文章
0
粉丝
测试交流1 195字数 115阅读0分23秒阅读模式

目前在对项目的导入接口(上传)进行测试,找了些资料看到很多都是单文件的例子或者文件都在同一个路径下,像我这种在不同路径下的文件,怎么写会更优雅一点呢?我这个写的过于生硬了,有没有更好的写法,请大佬们指点下。

python requests 上传多文件问题插图
软件测试本文转自于TesterHome,如有侵权请联系(2523030730@qq.com)删除。文章源自玩技e族-https://www.playezu.com/215715.html文章源自玩技e族-https://www.playezu.com/215715.html
 
    • Thirty-Thirty
      Thirty-Thirty 9

      你这种写法没什么问题啊。
      不同路径下文件上传,还可以写得更整齐 (无关优雅) 些。
      files = {
      “field1”: (“file”, open(r”..Folder1file1.xlsx”, “rb”)),
      “field2”: (“file”, open(r”..Folder2file2.xlsx”, “rb”)),
      “field3”: (“file”, open(r”..Folder3file3.xlsx”, “rb”)),
      “field8”: (“file”, open(r”..Folder8file8.xlsx”, “rb”))
      }

      注意:这里不要用循环语句。demo_path = “F:codepytest-auto-api…”
      uploadFiles = {
      “field1”:(“file”: ,open(r”{}file_name”.formart(demo_path),”rb”)
      }
      代码确实不够简洁,假如文件很多,那么可读性会比较差。可以考虑下代码数据分离,用文本文件或者 yaml 文件把 path 单独存放,再写个 loader 读取到代码里面,代码就看着要 “优雅” 点。嗯嗯,是的嗯嗯,会封装的多谢,学习了import requests

      def build_upload_files(file_name_list):
      # 优化1: 将公共的文件夹路径抽离
      root_folder_path = r’F:codepytest-auto-api2-masterrequests_demodemo’

      temp_upload_files = dict()

      # 优化2: 将重复冗余的代码用循环生成字典对象
      for index, file_name in enumerate(file_name_list, start=1):
      temp_upload_files.update({f’field{index}’: (‘file’, open(root_folder_path + ‘’ + file_name, ‘rb’))})

      return temp_upload_files

      if __name__ == ‘__main__’:
      # 优化3: 可以从配置文件中读取file_name_list
      file_names = [‘Project.xls’, ‘Projectstestdata.xls’]

      upload_files = build_upload_files(file_names)
      requests.post(url=’om’, files=upload_files)

      数据代码分离,再加上变量,再加上正则,再加上筛选,就很优雅啦
      ,,水水水

    匿名

    发表评论

    匿名网友
    确定

    拖动滑块以完成验证