转换scala.collection.Seq的Java对象<;字符串>;到python列表

转换scala.collection.Seq的Java对象<;字符串>;到python列表,java,python,scala,apache-spark,pyspark,Java,Python,Scala,Apache Spark,Pyspark,在pysparksparkSession中,使用sc作为我的sparkContext,调用getRDDStorageInfo()JavaSparkContext,\u jsc.sc(),方法返回我可以在python中迭代的RDDInfo[]的JavaObject实例 sc.\u jsc.sc().getRDDStorageInfo()返回JavaObject id=o473 因此,以下工作: for s in sc._jsc.sc().getRDDStorageInfo(): print

在pyspark
sparkSession
中,使用
sc
作为我的
sparkContext
,调用
getRDDStorageInfo()
JavaSparkContext,
\u jsc.sc()
,方法返回我可以在python中迭代的
RDDInfo[]
的JavaObject实例

sc.\u jsc.sc().getRDDStorageInfo()
返回
JavaObject id=o473

因此,以下工作:

for s in sc._jsc.sc().getRDDStorageInfo():
    print s.name()
    print s.memSize()
    print s.numPartitions()
    print s.numCachedPartitions()
但是,Java sparkContext方法
listFiles()
返回
scala.collection.Seq
的JavaObject

sc.\u jsc.sc().listFiles()
返回
JavaObject id=o475

当我尝试迭代时,我得到了
TypeError:“JavaObject”对象是不可编辑的


如何将
scala.collection.Seq
的JavaObject转换为python列表(或其他python可重用)?

您可以调用scala方法
size
apply

files = sc._jsc.sc().listFiles()
py_files = [files.apply(i) for i in range(files.size())]