python字符串前面去两位

编程入门 行业动态 更新时间:2024-10-23 19:18:27

python字符串前面去<a href=https://www.elefans.com/category/jswz/34/1759164.html style=两位"/>

python字符串前面去两位

编辑:为了省去滚动的麻烦,这个问题源于需要输出变量的“decode”操作;我的脚本未能做到这一点。我以为“for”循环会原位修改变量,但事实并非如此。在

长话短说,我有一些netCDF文件,我从中生成一系列地图。这个脚本工作得很好,但我遇到了很大的问题,使标题显示正确。我从netCDF文件中获取变量,它将充当我的标题(基本上是一个简单的时间戳)。首先,我尝试将其作为Python变量,然后将其用作绘图标题。在

不幸的是,我知道它是所谓的“字节”字符串。这意味着标题前面有一堆小写的“b”。不仅仅是一开始。即:

b'T'b'我'b'b'e'

这是因为netCDF变量是一个屏蔽数组。我设法得到一些可行的代码,将数组转换成一个列表,然后转换成一个字符串,一切似乎都能正常工作。然而,整个事情的关键是字节.解码()”操作。在

据我所知,这个操作接受bytes对象,然后将它们作为纯字符串返回。Afaik,这些都是utf-8格式的,我检查了输入的类型,发现它们都被归类为“字节”。

然而,当我尝试使用decode时,它告诉我对象不是字节,实际上是在它告诉我它们是字节之后的瞬间?请参阅下面的代码和输出/错误。在

代码:#check the type, shape, and data of times

print(type(times))

print(times.shape)

print(times.data)

#change the times masked array to a list

timeslist = times.tolist(fill_value=-9999)

#check to see if elements of the list are bytes

for x in timeslist:

print(type(x))

#new list for decoded chars

fixedtimeslist = []

#decode the bytes list

for x in timeslist:

bytes.decode('utf-8')

fixedtimeslist.append(x)

输出/错误:

^{pr2}$

编辑:有人问过,是的,我在一次迭代中尝试过用“x.decode”来做这个。当我这样做,并重新检查类型时,它仍然是字节。在

代码:#decode the bytes list

for x in timeslist:

x.decode('utf-8')

fixedtimeslist.append(x)

#recheck to see if decode worked

for x in fixedtimeslist:

print(type(x))

输出:(19,)

[b'2' b'0' b'1' b'2' b'-' b'1' b'0' b'-' b'0' b'4' b'_' b'0' b'3' b':' b'0' b'0' b':' b'0' b'0']

所以我不知道该怎么处理这个问题。我不知道我是不是不理解语义上的某些东西,还是我发现了一个bug之类的。在

我意识到有人问过类似的问题,我也见过,并试图模仿他们的解决办法,但没有成功。这是我尝试过的第4次或第5次程序迭代。要么解码似乎什么都不做(即:字符串仍然有b''部分),要么我得到这个错误。在

如果有关系的话,我想我会在CentOS 6.8上使用Python3.6Miniconda。在

感谢任何帮助!如果这是小事,我道歉;我不是计算机科学家。在

更多推荐

python字符串前面去两位

本文发布于:2024-02-26 19:47:34,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1703688.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:两位   字符串   python

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!