1. /r, /n, /r/n的区别?
- Unix系统里,每行结尾只有“<换行>”,即“
\n
”; - Windows系统里面,每行结尾是“<换行><回车>”,即“
\n\r
”; - Mac系统里,每行结尾是“<回车>”。
2. 上面为什么要介绍/r, /n, /r/n,主要是想介绍打开文件方式的区别,如r和rb两种打开方式的区别
3. 文本文件和二进制文件的区别?
4 python中的truncate()函数有点不理解?有待解决
runoob.txt的内容如下:
1:www.runoob.com
2:www.runoob.com
3:www.runoob.com
4:www.runoob.com
5:www.runoob.com
问题:truncate不带参数的作用是:就从文件开头开始截断到当前位置,其余内容删除。
使用以下代码 fo = open("runoob.txt", "r+") print ("文件名: ", fo.name) line = fo.readline() print ("读取行: %s" % (line)) fo.truncate() line = fo.readlines() print ("读取行: %s" % (line)) # 关闭文件 fo.close()
打印出的东西如下:
文件名: carddata.txt
读取行: 1:www.runoob.com
读取行: ['2:www.runoob.com\n', '3:www.runoob.com\n', '4:www.runoob.com\n', '5:www.runoob.com']
感觉应该打印
文件名: carddata.txt
读取行: 1:www.runoob.com
因为从第二行后面的内容应该都被截取了。这里没搞懂
但是以下的代码确实能反应上面truncate()的功能。
使用以下代码
fo
=
open
(
"runoob.txt"
,
"r+"
, encoding
=
"utf-8"
)
# print ("文件名: ", fo.name)
fo.seek(
36
)
fo.truncate()
# 从第36个字节以后的内容全部删除了
fo.seek(
0
,
0
)
line
=
fo.readlines()
print
(
"读取行: %s"
%
(line))
fo.truncate(
10
)
# 截取10个字节
fo.seek(
0
,
0
)
str
=
fo.read()
print
(
"读取数据: %s"
%
(
str
))
# 关闭文件
fo.close()
待整理