我正在尝试使用python-igraph从aws s3上托管的远程文件读取图形。我知道我可以在本地保存文件,但是目标是使用AWS Lambda运行此代码。这样,我想在不使用本地内存的情况下读取文件并创建图形。
我可以读取本地文件并从中创建图形。但是,我无法远程读取同一文件。
import s3fs
import igraph as ig
BUCKET_NAME = "my_aws_bucket"
s3 = s3fs.S3FileSystem(anon=False, key='my_key', secret='my_secret')
# LOCAL FILE
fr = 'local_path'
f = open(fr)
print(f)
g = ig.Graph.Read_Ncol(f, directed=False)
# REMOTE FILE
f2 = s3.open(BUCKET_NAME + 'remote_path', "r")
print(f2)
g = ig.Graph.Read_Ncol(f2, directed=False)
打印结果为:
<_io.TextIOWrapper name='../files/network_Melan.txt' mode='r' encoding='UTF-8'>
<_io.TextIOWrapper encoding='UTF-8'>
但是,第二部分(远程文件)给出了分段错误。有人可以帮我吗?