En Mon, 09 Jul 2007 22:40:04 -0300, placid <[EMAIL PROTECTED]> escribió:
> I have these files; which are Merge Request (ClearCase) files that are > created by a Perl CGI script (being re-written in Python, as the HTML/ > JavaScript have been mixed with Perl, maintainability is zero) > > MergeType::::codefromlabel:::: > BLname::::BUILDMODS:::: > OldLname:::::::: > BaseVersion::::6.9.1.24A:::: > RequiredRelease::::6.10.1.3:::: > Description:::::::: > FixRelation:::::::: > Dependencies:::::::: > LpAffected::::No:::: > CodeReview::::FirstName LastName:::: > Testing::::Compile/Build;Designer;Smoketests;:::: > OtherTesting:::::::: > Vobs::::ipsupport;:::: > Elements::::\ipsupport\ipbuild\Wizard\build.pl@@\main\buildmods\3:::: > > i read this whole file into a string so i can search for the value of > Elements which is > \ipsupport\ipbuild\Wizard\build.pl@@\main\buildmods\3 > > but this path is escaped > \\ipsupport\\ipbuild\\Wizard\\build.pl@@\\main\\buildmods\\3 > > so when i try to escape a string containing that same path using any > of the os.path escaping methods doesnt > result in the correct escaped path. It either appends "C:\\" in front > of the string with all the backslashes escaped > or it converts the three(3) at then end to "x03" and a match doesnt > occur! You may be confused about the actual string contents: "a\\b" contains exactly 3 characters, the second being a single backslash. The \ is the escape character; to include an actual \ inside a string, you have to double it. Another way is to use raw string literals (supressing escape processing): r"a\\b" contains four characters. See section 3.1.2 in the Python tutorial or the Reference (more technical): http://docs.python.org/ref/strings.html -- Gabriel Genellina -- http://mail.python.org/mailman/listinfo/python-list