gpt4 book ai didi

python - 用于在磁盘上加载字符串和文件的函数?

转载 作者:行者123 更新时间:2023-11-30 23:49:05 26 4
gpt4 key购买 nike

我有一个设计问题。我有一个用于加载图像文件的函数 loadImage() 。现在它接受一个文件路径字符串。但我也希望能够加载不在物理磁盘上的文件,例如。按程序生成。我可以让它接受一个字符串,但是它怎么知道该字符串不是文件路径而是文件数据?我可以添加一个额外的 bool 参数来指定这一点,但这听起来不太干净。有任何想法吗?现在是这样的:

def loadImage(filepath):
file = open(filepath, 'rb')
data = file.read()
# do stuff with data

另一个版本是

def loadImage(data):
# do stuff with data

如何让这个函数接受“文件路径”或“数据”并猜测它是什么?

最佳答案

您可以更改 loadImage 函数以期望打开的类似文件的对象,例如:

def load_image(f):
data = file.read()

...然后从两个函数调用它,其中一个需要路径,另一个需要包含数据的字符串:

from StringIO import StringIO

def load_image_from_path(path):
with open(path, 'rb') as f:
load_image(f)

def load_image_from_string(s):
sio = StringIO(s)
try:
load_image(sio)
finally:
sio.close()

关于python - 用于在磁盘上加载字符串和文件的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7782650/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com