Replace and inserting strings within .txt files with the use of regex
Peter Otten
__peter__ at web.de
Mon Aug 9 04:45:37 EDT 2010
Νίκος wrote:
> On 9 Αύγ, 10:38, Peter Otten <__pete... at web.de> wrote:
>> Νίκος wrote:
>> > Now the code looks as follows:
>> > for currdir, files, dirs in os.walk('test'):
>>
>> > for f in files:
>>
>> > if f.endswith('php'):
>>
>> > # get abs path to filename
>> > src_f = join(currdir, f)
>> > I just tried to test it. I created a folder names 'test' in me 'd:\'
>> > drive.
>> > Then i have put to .php files inside form the original to test if it
>> > would work ok for those too files before acting in the whole copy and
>> > after in the original project.
>>
>> > so i opened a 'cli' form my Win7 and tried
>>
>> > D:\>convert.py
>>
>> > D:\>
>>
>> > Itsjust printed an empty line and nothign else. Why didn't even try to
>> > open the folder and fiels within?
>> > Syntactically it doesnt ghive me an error!
>> > Somehting with os.walk() methos perhaps?
>>
>> If there is a folder D:\test and it does contain some PHP files (double-
>> check!) the extension could be upper-case. Try
>>
>> if f.lower().endswith("php"): ...
>>
>> or
>>
>> php_files = fnmatch.filter(files, "*.php")
>> for f in php_files: ...
>>
>> Peter
>
> The extension is in in lower case. folder is there, php files is
> there, i dont know why it doesnt't want to go into the d:\test to find
> them.
>
> Thast one problem.
>
> The other one is:
>
> i made the code simpler by specifying the filename my self.
>
> =========================
> # get abs path to filename
> src_f = 'd:\\test\\index.php'
>
> # open php src file
> print ( 'reading from %s' % src_f )
> f = open(src_f, 'r')
> src_data = f.read() # read contents of PHP file
> f.close()
> =========================
>
> but although ti nwo finds the fiel i egt this error in 'cli':
>
> D:\>aconvert.py
> reading from d:\test\index.php
> Traceback (most recent call last):
> File "D:\aconvert.py", line 16, in <module>
> src_data = f.read() # read contents of PHP file
> File "C:\Python32\lib\encodings\cp1253.py", line 23, in decode
> return codecs.charmap_decode(input,self.errors,decoding_table)[0]
> UnicodeDecodeError: 'charmap' codec can't decode byte 0x9f in position
> 321: char
> acter maps to <undefined>
>
> Somethign with the damn encodings again!!
Hmm, at one point in this thread you switched from Python 2.x to Python 3.2.
There are a lot of subtle and not so subtle differences between 2.x and 3.x,
and I recommend that you stick to one while you are still in newbie mode.
If you want to continue to use 3.x I recommend that you at least use the
stable 3.1 version.
Now one change from Python 2 to 3 is that open(filename, "r") gives you a
beast that is unicode-aware and assumes that the file is encoded in utf-8
unless you tell it otherwise with open(..., encoding=whatever). So what is
the charset used for your index.php?
Peter
More information about the Python-list
mailing list