编程冷知识

1.  /r, /n, /r/n的区别?

关于/r与/n以及 /r/n 的区别总结

  • Unix系统里,每行结尾只有“<换行>”,即“\n”;
  • Windows系统里面,每行结尾是“<换行><回车>”,即“\n\r”;
  • Mac系统里,每行结尾是“<回车>”。

2. 上面为什么要介绍/r, /n, /r/n,主要是想介绍打开文件方式的区别,如r和rb两种打开方式的区别

python基础-文件读写'r' 和 'rb'区别

python文件open()函数参数: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()

待整理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值