Python将字符串转换为和整数,同时保留前导零

Python将字符串转换为和整数,同时保留前导零,python,string,integer,Python,String,Integer,我正在尝试将字符串(如“AB0001”)转换为显示为“001”的整数 我正在努力: x='AB0001' z=int(x[2:len(x)]) 虽然我的输出是: 1 我需要它是一个整数,用于: format_string=r'/home/me/Desktop/File/AB'+r'%05s'+r'.txt' % z 感谢您抽出时间,请告诉我如何获得以下结果: format_string=r'/home/me/Desktop/File/AB0001.txt' 在python3和Python

我正在尝试将字符串(如“AB0001”)转换为显示为“001”的整数

我正在努力:

x='AB0001'
z=int(x[2:len(x)])
虽然我的输出是:

1
我需要它是一个整数,用于:

format_string=r'/home/me/Desktop/File/AB'+r'%05s'+r'.txt' % z
感谢您抽出时间,请告诉我如何获得以下结果:

format_string=r'/home/me/Desktop/File/AB0001.txt'

在python3和Python2中,前导零表示八进制数。如果要将其传递到字符串中,请将其保持为字符串

如果要使用0填充,可以选择:

print(x[2:].zfill(5))
我不明白为什么当您似乎想要与原始字符串完全相同的输出时,您会这么想

 format_string=r'/home/me/Desktop/File/{}.txt'.format(x)

在python3和Python2中,前导零表示八进制数。如果要将其传递到字符串中,请将其保持为字符串

如果要使用0填充,可以选择:

print(x[2:].zfill(5))
我不明白为什么当您似乎想要与原始字符串完全相同的输出时,您会这么想

 format_string=r'/home/me/Desktop/File/{}.txt'.format(x)

会给你想要的东西。

如果我理解正确,你将在字符串中使用int,对吗?既然是这样,你应该做你正在做的事情:

>>> x = 1
>>> format_string = r'/home/me/Desktop/File/AB%04d.txt' % x
>>> print(format_string)
/home/me/Desktop/File/AB0001.txt
>>>

您不需要将变量存储为001格式的int,但无论如何都不能这样做。在创建format_string时将其转换为该格式。

如果我理解正确,您将在字符串中使用int,对吗?既然是这样,你应该做你正在做的事情:

>>> x = 1
>>> format_string = r'/home/me/Desktop/File/AB%04d.txt' % x
>>> print(format_string)
/home/me/Desktop/File/AB0001.txt
>>>
您不需要将变量存储为001格式的int,但无论如何都不能这样做。当您创建format_字符串时,您可以将其转换为该格式。

通过.format方法使用可实现此目的

x='AB0001'
resulting_int_value =int(x[2:])  # omitting the last index of a slice operation will automatically assign the end of the string as the index

resulting_string = r'/home/me/Desktop/File/AB{:04}.txt'.format(resulting_int_value)
结果:

'/home/me/Desktop/File/AB0001.txt'
这里,{:04}是一个格式说明符,告诉字符串通过填充最多4个前导零来格式化给定值

所以,, 使用{:04}.format0将生成字符串0000。

通过.format方法使用可以实现这一点

x='AB0001'
resulting_int_value =int(x[2:])  # omitting the last index of a slice operation will automatically assign the end of the string as the index

resulting_string = r'/home/me/Desktop/File/AB{:04}.txt'.format(resulting_int_value)
结果:

'/home/me/Desktop/File/AB0001.txt'
这里,{:04}是一个格式说明符,告诉字符串通过填充最多4个前导零来格式化给定值


所以,, 使用{:04}.format0将生成字符串0000。

为什么它必须是整数?整数没有前导零。我想你要找的是格式化成带前导零的字符串。为什么它必须是整数?整数没有前导零。我想你要找的是格式化成一个带前导零的字符串。