问题描述
每当我从 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