博客
关于我
Python \r\n与\n的转换
阅读量:795 次
发布时间:2023-03-06

本文共 5027 字,大约阅读时间需要 16 分钟。

原文链接[脚本之家](http://www.jb51.net/article/64669.htm)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import
os
 
def
replace(filePath, w2u):
  
try
:
    
oldfile
=
open
(filePath,
"rb+"
)    
#这里必须用b打开
    
path, name
=
os.path.split(filePath)
    
newfile
=
open
(path
+
'$'</code> <code class="py keyword">+</code> <code class="py plain">name, </code><code class="py string">"ba+"</code><code class="py plain">)</code></div><div class="line number8 index7 alt1"><code class="py spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code>&nbsp;</div><div class="line number9 index8 alt2"><code class="py spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="py plain">old </code><code class="py keyword">=</code> <code class="py plain">b''</code></div><div class="line number10 index9 alt1"><code class="py spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="py plain">new </code><code class="py keyword">=</code> <code class="py plain">b''</code></div><div class="line number11 index10 alt2"><code class="py spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="py keyword">if</code> <code class="py plain">w2u </code><code class="py keyword">=</code><code class="py keyword">=</code> <code class="py color1">True</code><code class="py plain">:</code></div><div class="line number12 index11 alt1"><code class="py spaces">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="py plain">old </code><code class="py keyword">=</code> <code class="py plain">b</code><code class="py string">'\r'</code></div><div class="line number13 index12 alt2"><code class="py spaces">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="py plain">new </code><code class="py keyword">=</code> <code class="py plain">b''</code></div><div class="line number14 index13 alt1"><code class="py spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="py keyword">else</code><code class="py plain">:</code></div><div class="line number15 index14 alt2"><code class="py spaces">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="py plain">old </code><code class="py keyword">=</code> <code class="py plain">b</code><code class="py string">'\n'</code></div><div class="line number16 index15 alt1"><code class="py spaces">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="py plain">new </code><code class="py keyword">=</code> <code class="py plain">b</code><code class="py string">'\r\n'</code></div><div class="line number17 index16 alt2">&nbsp;</div><div class="line number18 index17 alt1"><code class="py spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="py plain">data </code><code class="py keyword">=</code> <code class="py plain">b''</code></div><div class="line number19 index18 alt2"><code class="py spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="py keyword">while</code> <code class="py plain">(</code><code class="py color1">True</code><code class="py plain">):</code></div><div class="line number20 index19 alt1"><code class="py spaces">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="py plain">data </code><code class="py keyword">=</code> <code class="py plain">oldfile.read(</code><code class="py value">200</code><code class="py plain">)</code></div><div class="line number21 index20 alt2"><code class="py spaces">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="py plain">newData </code><code class="py keyword">=</code> <code class="py plain">data.replace(old, new)</code></div><div class="line number22 index21 alt1"><code class="py spaces">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="py plain">newfile.write(newData)</code></div><div class="line number23 index22 alt2"><code class="py spaces">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="py keyword">if</code> <code class="py functions">len</code><code class="py plain">(data) &lt; </code><code class="py value">200</code><code class="py plain">:</code></div><div class="line number24 index23 alt1"><code class="py spaces">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="py keyword">break</code></div><div class="line number25 index24 alt2"><code class="py spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="py plain">newfile.close()</code></div><div class="line number26 index25 alt1"><code class="py spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="py plain">oldfile.close()</code></div><div class="line number27 index26 alt2"><code class="py spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code>&nbsp;</div><div class="line number28 index27 alt1"><code class="py spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="py plain">os.remove(filePath)</code></div><div class="line number29 index28 alt2"><code class="py spaces">&nbsp;&nbsp;&nbsp;&nbsp;</code><code class="py plain">os.rename(path </code><code class="py keyword">+</code> <code class="py string">'$'
+
name, filePath)
  
except
IOError as e:
    
print
(e)
     
if
__name__
=
=
"__main__"
:
  
print
(
"请输入文件路径:"
)
  
filePath
=
input
()
  
replace(filePath,
False
#这个改为True就可以实现\n变成\r\n

要注意的是,在python里,像\r\n这样的符号,如果是文本打开的话,是找不到\r\n的,而只能找到’\n’,所以必须用b(二进制)模式打开。

您可能感兴趣的文章:

转载地址:http://xgafk.baihongyu.com/

你可能感兴趣的文章
MyPython
查看>>
MTD技术介绍
查看>>
MySQL
查看>>
MySQL
查看>>
mysql
查看>>
MTK Android 如何获取系统权限
查看>>
MySQL - 4种基本索引、聚簇索引和非聚索引、索引失效情况、SQL 优化
查看>>
MySQL - ERROR 1406
查看>>
mysql - 视图
查看>>
MySQL - 解读MySQL事务与锁机制
查看>>
MTTR、MTBF、MTTF的大白话理解
查看>>
mt_rand
查看>>
mysql -存储过程
查看>>
mysql /*! 50100 ... */ 条件编译
查看>>
mudbox卸载/完美解决安装失败/如何彻底卸载清除干净mudbox各种残留注册表和文件的方法...
查看>>
mysql 1264_关于mysql 出现 1264 Out of range value for column 错误的解决办法
查看>>
mysql 1593_Linux高可用(HA)之MySQL主从复制中出现1593错误码的低级错误
查看>>
mysql 5.6 修改端口_mysql5.6.24怎么修改端口号
查看>>
MySQL 8.0 恢复孤立文件每表ibd文件
查看>>
MySQL 8.0开始Group by不再排序
查看>>