回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>使用Python2.7,我想将一个文件作为输入,从中删除一些字符,然后将其写入另一个文件。
我没有完全成功地使用以下代码:</p>
<pre><code>print 'processing .ujc file for transmit'
infile, outfile = open('app_code.ujc','r'), open('app_code_transmit.ujc','w')
data = infile.read()
data = data.replace("#include <avr/pgmspace.h> const unsigned char uj_code[] PROGMEM = {", "")
data = data.replace("0x", "")
data = data.replace(", ", "")
data = data.replace("};", "")
outfile.write(data)
</code></pre>
<p>输入文件(示例)为:</p>
<pre><code>#include <avr/pgmspace.h>
const unsigned char uj_code[] PROGMEM = {
0x00, 0x03, 0xB1, 0x4B, 0xEC, 0x00, 0x1D, 0x00, 0x1E, 0x00, 0x21, 0x00, 0x02, 0x6A, 0x00, 0x02,
0x6A, 0x00, 0x02, 0xE3, 0x3F, 0x00, 0x1F, 0x00, 0x02, 0x2C, 0x00, 0x01, 0x3B, 0x00, 0x02, 0x36, 0x00, 0x00
};
</code></pre>
<p>而这应该变成(etc是上述内容的延续,实际上并不存在):</p>
<pre><code>0003B14BEC001D001E002100026A00(...etc...)02360000
</code></pre>
<p>上面的代码是:</p>
<pre><code>#include <avr/pgmspace.h>
const unsigned char uj_code[] PROGMEM = {
0003B14BEC001D001E002100026A00(...etc...)
02360000
</code></pre>
<p>换言之,我想删除所有字符、空行和0x之类的东西,除了单个连续行中的实际字节,但我对细微差别有点误解,我期待着。有什么帮助吗?你知道吗</p>