首頁 > 後端開發 > Python教學 > Python檔案的基本操介紹

Python檔案的基本操介紹

不言
發布: 2018-09-25 16:12:11
原創
2216 人瀏覽過

這篇文章帶給大家的內容是關於Python文件的基本操介紹,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

檔案處理流程

1.開啟文件,得到檔案句柄並賦值給一個變數

2.透過句柄對檔案進行操作

3.關閉檔案

 r模式,預設模式,檔案不存在則報錯

w模式,檔案不存在則創建,檔案存在則覆蓋

a模式,檔案不存在則創建,檔案存在則不會覆蓋,寫內容會以追加的方式寫(寫日誌檔案的時候常用),追加模式是一種特殊的寫入模式

b(rb,wb,ab)模式:不用加encoding:utf-8

基本操作

開啟檔案

open(path, flag[, encoding][, errors])
path:要打开文件的路径
flag:打开文件的方式
r   以只读的方式打开文件,文件的描述符放在文件的开头   
rb  以二进制格式打开一个文件用于只读,文件的描述符放在文件的开头
r+  打开一个文件用于读写,文件的描述符放在文件的开头
w   打开一个文件只用于写入,如果该文件已经存在会覆盖,如果不存在则创建一个新文件
wb  打开一个文件只用于写入二进制,如果该文件已经存在会覆盖,如果不存在则创建一个新文件
w+  打开一个文件用于读写,如果该文件已经存在会覆盖,如果不存在则创建一个新文件
a   打开一个文件用于追加,如果文件存在,文件描述符将会放在文件末尾
a+  encoding:编码格式
errors:错误处理

path = r"C:\Users\Desktop\file1.txt"#ignore  忽略错误f = open(path, "r",encoding="gbk")
登入後複製

開啟檔案的模式有:

  • r ,唯讀模式【預設模式,檔案必須存在,不存在則拋出異常】

  • #w,只寫模式【不可讀;不存在則建立;存在則清空內容】

  • x, 只寫模式【不可讀;不存在則創建,存在則報錯】

  • a, 追加模式【可讀;   不存在則創建;存在則只追加內容】

" " 表示可以同時讀寫某個檔案

  • r , 讀寫【可讀,可寫】

  • w ,寫讀【可讀,可寫】

  • ##x ,寫讀【可讀,可寫】

  • a , 寫讀【可讀,可寫】

 "b"表示以位元組的方式操作

  • rb  或r b

  • wb 或w b

  • xb 或w b

  • #ab 或a b

 註:以b方式開啟時,讀取的內容是位元組類型,寫入時也需要提供位元組類型,無法指定編碼

 讀檔案內容

# 1、读取文件全部内容
str1 = f.read()
print(str1)

# 2、读取指定字符数
str2 = f.read(10)
print("*"+str2+"*")
str3 = f.read(10)
print("*"+str3+"*")

# 3、读取整行,包括"\n"字符
str4 = f.readline()
print(str4)
str5 = f.readline()
print(str5)

# 4、读取指定字符数
str6 = f.readline(10)
print(str6)

# 5、读取所有行并返回列表
list7 = f.readlines()
print(list7)

# 6、若给定的数字大于0,返回实际size字节的行数
list8 = f.readlines(20)
print(list8)

# 7、修改描述符的位置
f.seek(10)
str9 = f.read()
print(str9)
登入後複製

關閉檔案

f.close()

#   一个完整的过程
try:
    f1 = open(path,"r", encoding="gbk")
    print(f1.read())
finally:
    if f1:
        f1.close()
登入後複製
with open(path,"r",encoding="gbk") as f2:   
print(f2.read())
登入後複製

寫入檔案

path = r"C:\Users\Desktop\file4.txt"
f = open(path,"w")

#   1、将信息写入缓冲区
f.write("lee is a good man")

#   2、刷新缓冲区
#   直接把内部缓冲区的数据立刻写入文件,而不是被动的等待自动刷新缓冲区写入
f.flush()
f.write("lee is a good man\n")
f.close()

with open(path,"a") as f:
    f.write("good man")
登入後複製
with open('a.txt','w')  as  f:
  pass
with open('a.txt','r')  as read_f,open('b.txt','w')  as  write_f:
  data=read_f.read()
  write_f.write(data)
登入後複製
path = r"C:\Users\yanji\Desktop\day7\test1"
with open(path,"wb") as f3:
    str = "lee is a good man"
    f3.write(str.encode("utf-8"))
with open(path,"rb") as f2:
    data = f2.read()
    print(data)
    print(type(data))
    newDate = data.decode("utf-8")
    print(newDate)
    print(type(newDate))
登入後複製

以上是Python檔案的基本操介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板