pandas 等待直到blob存储文件夹被创建

5ssjco0h  于 2023-01-07  发布在  其他
关注(0)|答案(1)|浏览(90)

我想下载一张图片到一个blob文件夹。在此之前,我需要先创建文件夹。下面的代码是我正在做的。问题是文件夹需要时间来创建。当谈到with open(abs_file_name, "wb") as f:它找不到文件夹。我想知道是否有一个'等待'来了解文件夹创建完成,然后做写操作。

for index, row in data.iterrows():
    url = row['Creatives']
    file_name = url.split('/')[-1]
    r = requests.get(url)
    abs_file_name = lake_root + file_name
    dbutils.fs.mkdirs(abs_file_name)
    if r.status_code == 200:
        with open(abs_file_name, "wb") as f:
            f.write(r.content)
7d7tgy0s

7d7tgy0s1#

  • 在blob存储上使用dbutils.fs.mkdirs()时,不会创建最终子文件夹。
  • 它创建了一个文件,该文件的子文件夹名被认为是一个目录,但它不是一个目录。
dbutils.fs.mkdirs('/mnt/repro/s1/s2/s3.csv')

  • 当我试图打开这个文件时,错误说这是一个目录。

  • 这可能是代码的问题。因此,请尝试改用以下代码:
for index, row in data.iterrows():
    url = row['Creatives']
    file_name = url.split('/')[-1]
    r = requests.get(url) 
    abs_file_name = lake_root + 'fail'  #creates the fake directory (to counter the problem we are facing above)
    dbutils.fs.mkdirs(abs_file_name)
    if r.status_code == 200: 
        with open(lake_root + file_name, "wb") as f: 
            f.write(r.content)

相关问题