faker.providers.file

class faker.providers.file.Provider(generator: Any)

基类: BaseProvider

为 Faker 实现默认的文件提供程序。

file_extension(category: str | None = None) str

在指定的 category 下生成文件扩展名。

如果 categoryNone,将使用随机类别。有效的类别列表包括:'audio''image''office''text''video'

示例:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.file_extension()
...
'js'
'mp3'
'webm'
'html'
'html'
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.file_extension(category='image')
...
'jpg'
'jpg'
'bmp'
'jpeg'
'png'
file_name(category: str | None = None, extension: str | None = None) str

生成带扩展名的随机文件名。

如果 extensionNone,将使用指定的 category 通过 file_extension() 在内部创建一个随机扩展名。如果提供了 extension 的值,则将使用该值,并忽略 category。名称本身是使用 word() 生成的。如果 extension 是一个空字符串,则不会添加扩展名,并且 file_name 将与 word() 相同。

示例:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.file_name(category='audio')
...
'son.mp3'
'amount.mp3'
'much.mp3'
'interview.mp3'
'me.mp3'
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.file_name(extension='abcdef')
...
'three.abcdef'
'image.abcdef'
'son.abcdef'
'voice.abcdef'
'kitchen.abcdef'
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.file_name(category='audio', extension='abcdef')
...
'three.abcdef'
'image.abcdef'
'son.abcdef'
'voice.abcdef'
'kitchen.abcdef'
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.file_name(extension='')
...
'three'
'image'
'son'
'voice'
'kitchen'
file_path(depth: int = 1, category: str | None = None, extension: str | Sequence[str] | None = None, absolute: bool | None = True, file_system_rule: Literal['linux', 'windows'] = 'linux') str

生成一个文件的路径名。

此方法在内部使用 file_name() 来生成文件名本身,depth 控制目录路径的深度,并且在内部使用 word() 来生成不同的目录名。

如果 absoluteTrue(默认值),则生成的路径以 / 开头,并且是绝对路径。否则,生成的路径是相对路径。

如果使用,extension 可以是一个字符串(强制使用该扩展名),一个字符串序列(将随机选择其中一个),或者一个空序列(路径将没有扩展名)。默认行为与 file_name() 相同。

如果设置了 file_system(默认值为“linux”),生成的路径将使用指定的文件系统路径标准,有效的文件系统列表包括:'windows''linux'

示例:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.file_path(depth=3)
...
'/mention/much/event/amount.js'
'/wait/past/help/me.html'
'/someone/challenge/father/chair.png'
'/no/where/enough/successful.wav'
'/back/show/bit/force.avi'
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.file_path(depth=5, category='video')
...
'/much/event/amount/kitchen/voice/son.webm'
'/me/floor/themselves/step/why/interview.webm'
'/chair/mother/discover/whatever/wait/past.mov'
'/enough/successful/present/beyond/someone/challenge.mov'
'/to/way/back/show/bit/force.avi'
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.file_path(depth=5, category='video', extension='abcdef')
...
'/amount/kitchen/voice/son/image/three.abcdef'
'/step/why/interview/mention/much/event.abcdef'
'/wait/past/help/me/floor/themselves.abcdef'
'/challenge/father/chair/mother/discover/whatever.abcdef'
'/where/enough/successful/present/beyond/someone.abcdef'
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.file_path(extension=[])
...
'/image/three'
'/voice/son'
'/amount/kitchen'
'/much/event'
'/interview/mention'
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.file_path(extension='')
...
'/image/three'
'/voice/son'
'/amount/kitchen'
'/much/event'
'/interview/mention'
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.file_path(extension=["a", "bc", "def"])
...
'/voice/son.bc'
'/event/amount.bc'
'/interview/mention.def'
'/help/me.bc'
'/whatever/wait.def'
mime_type(category: str | None = None) str

在指定的 category 下生成 MIME 类型。

如果 categoryNone,将使用随机类别。有效的类别列表包括 'application''audio''image''message''model''multipart''text''video'

示例:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.mime_type()
...
'text/vcard'
'application/pdf'
'video/x-ms-wmv'
'model/vrml'
'multipart/signed'
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.mime_type(category='application')
...
'application/soap+xml'
'application/font-woff'
'application/ecmascript'
'application/pdf'
'application/xop+xml'
unix_device(prefix: str | None = None) str

生成 Unix 设备文件名。

如果 prefixNone,将使用随机前缀。有效的前缀列表包括:'sd''vd''xvd'

示例:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.unix_device()
...
'/dev/vdy'
'/dev/vdb'
'/dev/vdq'
'/dev/vdm'
'/dev/vdp'
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.unix_device(prefix='mmcblk')
...
'/dev/mmcblkm'
'/dev/mmcblky'
'/dev/mmcblkn'
'/dev/mmcblkb'
'/dev/mmcblki'
unix_partition(prefix: str | None = None) str

生成 Unix 分区名称。

此方法在内部使用 unix_device() 来创建带有指定 prefix 的设备文件名。

示例:

>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.unix_partition()
...
'/dev/vdy6'
'/dev/sdi8'
'/dev/vdm4'
'/dev/vdl9'
'/dev/sdq2'
>>> Faker.seed(0)
>>> for _ in range(5):
...     fake.unix_partition(prefix='mmcblk')
...
'/dev/mmcblkm6'
'/dev/mmcblkb4'
'/dev/mmcblkq7'
'/dev/mmcblkm4'
'/dev/mmcblkp5'