Robert Dailey wrote:
> Hi,
>
> I have the following code:
>
> str = "C:/somepath/folder/file.txt"
>
> for char in str:
> if char == "\\":
> char = "/"
>
> The above doesn't modify the variable 'str' directly. I'm still pretty new
> to Python so if someone could explain to me why this isn't working and what
> I can do to achieve the same effect I would greatly appreciate it.
Hi Robert,
strings in Python are immutable - in other words, they cannot be updated in
place as you're doing above. However, that doesn't mean you can't achieve what
you're after. In Python, the way to approach this problem since you cannot
modify the string in place, is to create a new string object with the desired
content:
str = "C:/somepath/folder/file.txt"
newstr = ""
for char in str:
if char == "\\":
char = "/"
newstr = newstr + char
str = newstr
Note that for this particular example, there are also better ways of acheiving
your goal:
str = "C:/somepath/folder/file.txt"
str = str.replace("\\", "/")
HTH,
-Jay
--
http://mail.python.org/mailman/listinfo/python-list