1. 程式人生 > >文件操作.筆記

文件操作.筆記

alex 一起 world 目標 cap 描述符 ber == date

#文件操作
# 1.打開文件,得到文件句柄並賦值給一個變量
# 2.通過句柄對文件進行操作
# 3.關閉文件

#能調用方法的一定是對象

# li=[1,2,3]
# li.append(‘2‘)
# ‘asc‘.capitalize()


#‘r‘:讀
#‘w‘:寫
#‘a‘:在文件末尾追加內容,追加模式
# import time

# f=open(‘encode_py3‘,‘a‘,encoding=‘utf8‘)#操作句柄
# print(f.fileno())#文件描述符

# date=f.read()
# print(date)

# f.write(‘hello‘)#把之前的文件格式化,"hello"再寫上
# f.write(‘alex‘)#和上面的代碼 緊挨在一起
# time.sleep(30)#

# f.close()#關閉


# f=open(‘草稿‘,‘a‘,encoding=‘utf8‘)

# f.write()

#print(f.read(5))#打印前面5個字符

# a=f.readline()
# print(a)

#print(f.readline())#打印完後光標已經移動到最後面

# print(f.readlines())#打印成一排列表‘[....]‘
#
# for i in f.readlines():
#
# print(i.strip())#‘i‘的後面加 strip 可以無效文件中的\n

#
#題目:把文件中的第六行句子後面加一些字符串,前面的文本不動
# number=0
# for i in f.readlines():
# number+=1
# if number==6:
# print(i.strip(),‘ijiiu‘)
# else:
# print(i.strip())
# f.close()

#上面題目的優化方法
# number=0
# for i in f.readlines():#f.readlines 把文本轉換成列表格式
# number+=1
# if number==6:
# i=‘‘.join((i.strip(),‘ijiiu‘))#取代萬惡的‘+‘#在目標文本後面加字符串
# #i=i.strip()+‘ijiiu‘
# print(i.strip())
# f.close()


# data=f.readlines()
# f.close()#把文件打開看一下後又關閉文件
#
# number=0
# for i in data():
# number+=1
# if number==6:
# i=‘‘.join([i.strip(),‘ijiiu‘])
# print(i.strip())
# f.close()


#讀取 #這是最好的
# number=0
# for i in f: #這是 for 內部將 f 對象做成一個叠代器,,用一行去一行
# if number == 6:
# i = ‘‘.join(i.strip(),‘iiii‘)
# print(i.strip())
#
#
#
# print(f.tell())#打印當前光標位置
# print(f.read(2))
# print(f.tell())#utf-8 格式 , 英文占1個字符,中文占3個字節
#
#
# print(f.seek(0))#調整光標位置
# print(f.read(4))


# import sys,time
# for i in range(30):
# sys.stdout.write("*")
# sys.stdout.flush()
# time.sleep(0.1)


# import sys,time
# for i in range(30):
# print(‘*‘,end=‘‘,flush=True)
# time.sleep(0.1)

# f=open(‘草稿‘,‘a‘,encoding=‘utf8‘)

# print(f.isatty())

# f.truncate(5)#什麽都不加,就默認刪除全部內容
# f.write(‘hello world‘)
# f.truncate(5)
# f.close()




# r+ , w+ , a+ 三種模式

# r+ 模式
# f=open(‘草稿‘,‘r+‘,encoding=‘utf8‘)
#
# print(f.readline())
# f.write(‘嶽飛‘)
#
# f.close()
# #光標跑到文件的後面
#
#
# # w+
# f=open(‘草稿‘,‘w+‘,encoding=‘utf8‘)
#
# print(f.readline())#格式化後
# f.write(‘嶽飛‘)
# print(f.tell())
# f.seek(0)#調整光標位置
# print(f.readline())

# f.close()
# #先清空內容,再打印內容,在光標後面寫內容
#
#
# # a+
# f=open(‘草稿‘,‘a+‘,encoding=‘utf8‘)
# print(f.tell())
# print(f.readline())
#
# f.close()


# 終極問題 怎麽修改文件內容
# f=open(‘草稿‘,‘r+‘,encoding=‘utf8‘)
# number=0
# for line in f:
# number+=1
# if number==6:
# f.write(‘王進‘)
#解決不了


#創建新的文件,覆蓋原文件
#完全替換第五行內容
# f_read=open(‘草稿‘,‘r‘,encoding=‘utf8‘)
# f_write=open(‘草稿2‘,‘w‘,encoding=‘utf8‘)
#
# number=0
# for line in f_read:
# number+=1
# if number==5:
# line=‘hello 嶽飛\n‘
# f_write.write(line)
#
# f_read.close()


#在第五行後面追加內容,前面的內容不修改
# f_read=open(‘草稿‘,‘r‘,encoding=‘utf8‘)
# # f_write=open(‘草稿2‘,‘w‘,encoding=‘utf8‘)
# #
# # number=0
# # for line in f_read:
# # number+=1
# # if number==5:
# # line=‘‘.join([line.strip(),‘王進\n‘])
# # #line=‘hello 嶽飛\n‘
# # f_write.write(line)
# #
# # f_read.close()


# a=str({‘beijing‘:{‘1‘:111}})
# print(type(a))
# print(a)#{‘beijing‘: {‘1‘: 111}} 字符串
# a=eval(a)
# print(type(a))
# print(a[‘beijing‘])#{‘1‘: 111}


# f=open(‘log‘,‘r‘)#d1種
# f.readline()
# f.read()
# f.close()
#
# with open(‘log‘,‘r‘) as f:#d2種 #常用方式
# f.readline()
# f.read()
# print(‘hello‘)

# with 同時管理多個文件對象
with open(‘log1‘,‘r‘) as f_read,open(‘log2‘,‘w‘) as f_write:
for line in f_read:
f_write.write(line)

文件操作.筆記