有没有特定的方法可以从 netCDF4 文件中提取文件路径?

问题描述

每当我从 netCDF4 文件提取文件名时,单个字母就会被 'b' 和撇号隔开。所以文件路径“/home/data”看起来像: [b'/' b'h' b'o' b'm' b'e' b'/' b'd' b'a' b't' b'a']

有谁知道为什么会发生这种情况或如何将其转换为看起来正常的文件路径?

我正在使用以下代码提取文件路径:

filepath = '/Users/jchap/Desktop/img_tags.nc'
with nc4.Dataset(filepath,'r') as ncid:
    L1fileName = ncid.variables['L1fileName'][:]
print(L1fileName[0])

然后收到以下混合结果代替文件路径:

[b'/' b'h' b'o' b'm' b'e' b'/' b'd' b'a' b't' b'a' b'w' b'o' b'r' b'k'
 b'-' b'c' b'e' b'r' b's' b'a' b't' b'-' b'p' b'u' b'b' b'l' b'i' b'c'
 b'/' b'c' b'a' b'c' b'h' b'e' b'/' b'p' b'r' b'o' b'j' b'e' b'c' b't'
 b'/' b's' b'1' b'a' b'-' b'w' b'v' b'1' b'-' b's' b'l' b'c' b'-' b'v' 
 b'v' b'-' b'2' b'0' b'0' b'2' b'f' b'0' b'9' b'b' b'-' b'0' b'1' b'3' 
 b'.' b't' b'i' b'f' b'f']

注意数据“class”为:

感谢您的帮助!

解决方法

s = [b'/' b'h' b'o' b'm' b'e' b'/' b'd' b'a' b't' b'a' b'w' b'o' b'r' b'k'
 b'-' b'c' b'e' b'r' b's' b'a' b't' b'-' b'p' b'u' b'b' b'l' b'i' b'c'
 b'/' b'c' b'a' b'c' b'h' b'e' b'/' b'p' b'r' b'o' b'j' b'e' b'c' b't'
 b'/' b's' b'1' b'a' b'-' b'w' b'v' b'1' b'-' b's' b'l' b'c' b'-' b'v' 
 b'v' b'-' b'2' b'0' b'0' b'2' b'f' b'0' b'9' b'b' b'-' b'0' b'1' b'3' 
 b'.' b't' b'i' b'f' b'f']

s = s.replace("b\'",'').replace("[","").replace("']","")
print(s)
[out]: '/home/datawork-cersat-public/cache/project/s1a-wv1-slc-vv-2002f09b-013.tiff'

此处简要说明原因:https://www.tutorialspoint.com/What-does-the-b-character-do-in-front-of-a-string-literal-in-Python

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...