python3笔记-文件操作

本文详细介绍了Python中文件的各种操作方式,包括只读、只写、追加、读写等,并通过实例演示了如何使用这些模式进行文件读写。此外,文章还展示了如何控制文件光标位置,实现对文件内容的精确修改。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

'''
文件操作
嗜血法医简介.txt
1,文件路径:d:\嗜血法医简介.txt
2,编码方式:utf-8 gbk ...
3,操作方式:只读,只写,追加,读写,写读....
'''

'''
只读:r
只写:w

'''

# 只读:r
#       rb
f = open('d:\嗜血法医简介.txt',mode='r',encoding='utf-8')
#f = open('d:\嗜血法医简介.txt',mode='rb')
content = f.read()
print(content)
f.close()


'''
《嗜血判官》(Dexter,也译嗜血法医),是Showtime电视网推出,迈克尔·科斯塔,托尼·戈德温等执导,麦克-C-霍尔、朱莉-本兹等主演的电视剧,改编自杰夫·林赛的小说《暗夜噩梦戴克斯特》。
该剧讲述的是主角戴克斯特·摩根白天以迈阿密警局法医身份作为掩护,黑夜降临时就去追捕罪犯的故事。
该剧于2006年在showtime首播,全剧共八季,于2013年宣告完结。

剧情简介
主人公戴克斯特(Dexter)童年时候和他的哥哥被关在在迈阿密船坞里的装满发臭尸体集装箱里,在两英寸深的鲜血里泡了两天。其中一具被电锯杀手谋杀的尸体是他们的母亲,兄弟两人都目睹了母亲被残忍杀害。
一个叫哈里·摩根的警察,收养了年幼的戴克斯特,摩根把戴克斯特抚养成人,但戴克斯特不断的表现出对血的渴望。有一次他控制不住自己杀了一条狗。摩根知道以后,开始训练他,教会他怎么辨别好人与坏人,以及在作案之前如何控制现场不留线索。
他教导戴克斯特如何成为一个谨慎,细心和高效率的杀手,教导他如何掩盖证据,教导他如何生活在社会里才能减少被嫌疑的可能性,更主要的是他教导戴克斯特杀人的原则,正因为哈里教导的杀人原则,戴克斯特才只会去杀那些从前杀过人的人,去喋血般地维持心中的正义。
德克斯特白天是迈阿密警署凶杀组的血迹专家,与他的妹妹、警察黛布拉并肩作战缉拿罪犯。
'''

f1 = open('葫芦娃',mode='r',encoding='utf-8')
content2 = f1.read()
print(content2)
f1.close()

#叮当当嘟嘟哒哒,葫芦娃


# 只写:w
#       wb
f2 = open('彼得林奇的经典演讲',mode='w',encoding='utf-8')
f2.write('规则1 : 了解你所持有的股票;\n规则2 : 作经济预测徒劳无益;\n规则3 : 不要担心指数;\n规则4 : 不要急躁 ,你有充足的时间.\n')
f2.close()
'''
规则1 : 了解你所持有的股票;
规则2 : 作经济预测徒劳无益;
规则3 : 不要担心指数;
规则4 : 不要急躁 ,你有充足的时间.
'''

#f3 = open('log',mode='wb')
#f3.write('规则2 : 作经济预测徒劳无益;'.encode('gbk'))
#f3.close()
f3 = open('log',mode='wb')
f3.write('规则2 : 作经济预测徒劳无益;'.encode('utf-8'))
f3.close()
'''
规则2 : 作经济预测徒劳无益;
'''

#追加:a
#     ab
#     a+

f5 = open('彼得林奇的经典演讲',mode='a',encoding='utf-8')
f5.write('危险的说法1 : 既然股价已经下跌了这么多 , 它还能跌多少呢 ?\n')
f5.close()
'''
规则1 : 了解你所持有的股票;
规则2 : 作经济预测徒劳无益;
规则3 : 不要担心指数;
规则4 : 不要急躁 ,你有充足的时间.
危险的说法1 : 既然股价已经下跌了这么多 , 它还能跌多少呢 ?
'''

f6 = open('彼得林奇的经典演讲',mode='ab')
f6.write('危险的说法2 : 股价还能上涨多少 ?\n'.encode('utf-8'))
f6.close()

'''
规则1 : 了解你所持有的股票;
规则2 : 作经济预测徒劳无益;
规则3 : 不要担心指数;
规则4 : 不要急躁 ,你有充足的时间.
危险的说法1 : 既然股价已经下跌了这么多 , 它还能跌多少呢 ?
危险的说法2 : 股价还能上涨多少 ?
'''


#读写 r+
f7 = open('彼得林奇的经典演讲',mode='r+',encoding='utf-8')
print(f7.read())
f7.write('危险的说法3 : 我能赔多少 ? 股价只有3美元 。\n')
f7.close()
#输出
'''
规则1 : 了解你所持有的股票;
规则2 : 作经济预测徒劳无益;
规则3 : 不要担心指数;
规则4 : 不要急躁 ,你有充足的时间.
危险的说法1 : 既然股价已经下跌了这么多 , 它还能跌多少呢 ?
危险的说法2 : 股价还能上涨多少 ?
'''

#文件内容
'''
规则1 : 了解你所持有的股票;
规则2 : 作经济预测徒劳无益;
规则3 : 不要担心指数;
规则4 : 不要急躁 ,你有充足的时间.
危险的说法1 : 既然股价已经下跌了这么多 , 它还能跌多少呢 ?
危险的说法2 : 股价还能上涨多少 ?
危险的说法3 : 我能赔多少 ? 股价只有3美元 。
'''
#f8 = open('彼得林奇的经典演讲',mode='r+',encoding='utf-8')
#f8.write('危险的说法4 : 最终,跌去的全都将反弹回来 。')
#print(f8.read())
#f8.close()

#输出
'''
测徒劳无益;
规则3 : 不要担心指数;
规则4 : 不要急躁 ,你有充足的时间.
危险的说法1 : 既然股价已经下跌了这么多 , 它还能跌多少呢 ?
危险的说法2 : 股价还能上涨多少 ?
危险的说法3 : 我能赔多少 ? 股价只有3美元 。
'''
#文件内容
'''
危险的说法4 : 最终 , 跌去的全都将反弹回来 。测徒劳无益;
规则3 : 不要担心指数;
规则4 : 不要急躁 ,你有充足的时间.
危险的说法1 : 既然股价已经下跌了这么多 , 它还能跌多少呢 ?
危险的说法2 : 股价还能上涨多少 ?
危险的说法3 : 我能赔多少 ? 股价只有3美元 。
'''

f9 = open('彼得林奇的经典演讲',mode='a+',encoding='utf-8')
f9.write('危险的说法5 : 情况糟糕得不能再糟糕了 , 我应该买入。\n')
f9.seek(0)
print(f9.read())
f9.close()

'''
规则1 : 了解你所持有的股票;
规则2 : 作经济预测徒劳无益;
规则3 : 不要担心指数;
规则4 : 不要急躁 ,你有充足的时间.
危险的说法1 : 既然股价已经下跌了这么多 , 它还能跌多少呢 ?
危险的说法2 : 股价还能上涨多少 ?
危险的说法3 : 我能赔多少 ? 股价只有3美元 。
危险的说法5 : 情况糟糕得不能再糟糕了 , 我应该买入。
'''

#功能详解

f10 = open('彼得林奇的经典演讲',mode='r+',encoding='utf-8')
#print(f10.read(10))  #读出来的都是字符
f10.seek(6)  #是按照字节定光标的位置
#f10.tell() 告诉你光标的位置
#print(f10.tell())
print(f10.read())
f10.close()

'''
1 : 了解你所持有的股票;
规则2 : 作经济预测徒劳无益;
规则3 : 不要担心指数;
规则4 : 不要急躁 ,你有充足的时间.
危险的说法1 : 既然股价已经下跌了这么多 , 它还能跌多少呢 ?
危险的说法2 : 股价还能上涨多少 ?
危险的说法3 : 我能赔多少 ? 股价只有3美元 。
危险的说法5 : 情况糟糕得不能再糟糕了 , 我应该买入。
'''


f11 = open('log1',mode='a+',encoding='utf-8')
f11.write('亚马逊666789')
count = f11.tell()
print(count)
f11.seek(count-9)  #15-9 = 6,一个汉字占有3个字节,
print(f11.read(2)) #从光标的位置读取2个字符
f11.close()

'''
逊6
'''
'''
log2文件内容
dexter,tom,jack,china,usa
2018年12月18日亚马逊大涨9.45%
'''

f12 = open('log2',mode='r+',encoding='utf-8')
line = f12.readline() #一行一行的读
print(line)
f12.close()

'''
dexter,tom,jack,china,usa
'''

f13 = open('log2',mode='r+',encoding='utf-8')
line1 = f13.readlines() #每一行当成列表中的一个元素,添加到list中
print(line1)
f13.close()
'''
['dexter,tom,jack,china,usa\n', '2018年12月18日亚马逊大涨9.45%\n']
'''





with open('log2',mode='r+',encoding='utf-8') as obj:
    print(obj.read())

'''
dexter,tom,jack,china,usa
2018年12月18日亚马逊大涨9.45%
'''


#作业示范(新用户注册,登录)
username = input('请输入你要注册的用户名:')
password = input('请输入你要注册的密码:')
with open('list_of_info',mode='w+',encoding='utf-8') as f:
    f.write('{}\n{}'.format(username,password))
print('恭喜您,成功注册为阿里黄金会员')

f2 = open('list_of_info',mode='r+',encoding='utf-8')
print(f2.read())
f2.close()

lis = []
i = 0
while i < 3:
    usn = input('请输入你的用户名:')
    pwd = input('请输入你的密码:')
    with open('list_of_info',mode='r+',encoding='utf-8') as f1:
        for line in f1:
            lis.append(line)
    print(lis)
    if usn == lis[0].strip() and pwd == lis[1].strip():
        print('登录成功')
        break
    else:
        print('帐号和密码错误')
    i+=1



'''
请输入你要注册的用户名:dexter
请输入你要注册的密码:123456
恭喜您,成功注册为阿里黄金会员
dexter
123456
请输入你的用户名:dexter
请输入你的密码:666
['dexter\n', '123456']
帐号和密码错误
请输入你的用户名:dexter
请输入你的密码:123456
['dexter\n', '123456', 'dexter\n', '123456']
登录成功
'''

  

转载于:https://www.cnblogs.com/dexterwp/p/10190506.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值