>>> t1 = "abcd.org.gz"
>>> t1
'abcd.org.gz'
>>> t1.strip("g")
'abcd.org.gz'
>>> t1.strip("gz")
'abcd.org.'
>>> t1.strip(".gz")
'abcd.or'
Why does the 'g' of '.org' is gone?
>>> t1 = "abcd.org.gz"
>>> t1
'abcd.org.gz'
>>> t1.strip("g")
'abcd.org.gz'
>>> t1.strip("gz")
'abcd.org.'
>>> t1.strip(".gz")
'abcd.or'
Why does the 'g' of '.org' is gone?
strip
removes any of the characters .
, g
and z
from the beginning and end of the string.
x.strip(y)
will remove all characters that appear in y
from the beginning and end of x
.
That means
'foo42'.strip('1234567890') == 'foo'
becuase '4'
and '2'
both appear in '1234567890'
.
Use os.path.splitext
if you want to remove the file extension.
>>> import os.path
>>> t1 = "abcd.org.gz"
>>> os.path.splitext(t1)
('abcd.org', '.gz')
The argument given to strip
is a set of characters to be removed, not a substring. From the docs:
The chars argument is a string specifying the set of characters to be removed.
as far as I know strip removes from the beginning or end of a string only. If you want to remove from the whole string use replace.