ValueError:以10为基数的int()的文本无效;正在尝试从中提取整数

2024-09-29 05:28:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图让程序识别NETCDF文件名中的一个数字,我修改了代码,但仍然给我同样的错误,我无法确定原因。在

创建错误的代码部分是:

Band = int((listofallthefiles[number][listofallthefiles[number].find("M3C" or "M4C" or "M6C")+3:listofallthefiles[number].find("_G16")]))

NETCDF文件的路径和名称是:

^{pr2}$

我试图提取“M6C”和“_G16”之间的“13”来保存值,但它给了我错误消息:

ValueError: invalid literal for int() with base 10: 'olumes/Anthonys_backup/Hurricane_Dorian/August_28/Channel_13/OR_ABI-L2-CMIPF-M6C13'

Tags: or代码程序numberband文件名错误原因
1条回答
网友
1楼 · 发布于 2024-09-29 05:28:32

首先提取字符串的编号,以便int能够正确地转换它,请参见here。 使用regex可能更容易实现,例如:

import re
...
str = listofallthefiles[number]
num = re.findall('.*M6C(.*)_G16', str)[0]

现在可以将其转换为整数:

^{pr2}$

相关问题 更多 >