Using a wildcard in the path with os.path.getsize() returns error: OSError

Using a wildcard in the path with os.path.getsize() returns error: OSError

import os

csv = "./CSV/*.csv"

os.path.getsize(csv)

我在 /CSV 目录下有 1 个 .csv 文件。我想获取该文件的大小。我不想在代码中使用文件名,因为 .csv 文件会定期更改。 当前 return 错误:

OSError:[WinError 123]文件名、目录名或卷标语法不正确:'./CSV/*.csv'

我尝试了几种不同的方法,包括使用 glob,大多数时候我只能设法 return 文件名而不是实际文件本身。

任何帮助将不胜感激。谢谢

使用glob

import os
import glob

csv_files = glob.glob('./CSV/*.csv') #THIS RETURNS A LIST EVEN IF THERE IS A SINGLE MATCH
for csv_file in csv_files:
    print(os.path.getsize(csv_file))

你在尝试这样的事情吗?

import os
import glob
In [68]: csv_files = glob.glob('./CSV/*.csv')
In [69]: size_obj = {}
In [70]: for file in csv_files:
    ...:     size_obj[file] = os.path.getsize(file)
    ...: