日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python笔记之文件的基本操作和os模块

發布時間:2024/1/23 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python笔记之文件的基本操作和os模块 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文件的操作

語法: open(文件路徑,訪問模式,encoding=編碼格式)

文件路徑:
1. 指定路徑
“C:\path\file.txt”
r”C:\path\file.txt”
(windows下用”\”來分隔路徑
unix下用”/”分隔路徑)
2. 不指定路徑
file.txt,會在程序運行的目錄下創建
可以使用os模塊改變路徑

打開文件的三種訪問模式
r:只讀模式,默認
w:寫入模式(覆蓋)
a:追加模式
wb:以二進制形式打開一個文件用于寫入一般用于非文本文件,圖片

編碼格式:
防止中文亂碼
GBK
UTF-8

文件的常用方法:
.read() 方法讀取文件的全部內容
.seek() 移動指針
.write() 向文件寫入字符串
.readline(num) num給數字幾,就輸出幾個字符
.readline() 按行,一行一行的讀取文件數據
.readlines() 按行讀取全部內容,返回的是一個文件數據列表,每一行是列表的一個元素

對于只讀模式(r)來說,如果文件不存在則報錯:

file = open("text.txt","r") #text.txt 并不存在 file.close() #調用完需要將打開的文件關閉

運行結果:

Traceback (most recent call last):File "G:/PyCharm_/python_basic/day08/demo01.py", line 1, in <module>file = open("text.txt","r") FileNotFoundError: [Errno 2] No such file or directory: 'text.txt'

對于寫入模式(w)來說,如果文件不存在,仍會報錯,但會創建一個新的文件,如果文件已存在將會覆蓋原文件.

例如,向C盤一個文件寫入”hi!”

file = open(r"C:\Users\123\1.txt","w") file.write("hi!") file.close()

執行后,會在 “C:\Users\123\1.txt” 寫入 “hi!”

我們使用.read()來讀取剛才寫進的內容

file = open(r"C:\Users\123\1.txt","r") print(file.read()) file.close()

運行結果:

hi!

接下來我們在上述內容后追加內容”good morning!”

#向文本內追加內容 file = open(r"C:\Users\123\1.txt","a",encoding="utf-8") file.write(" \ngood morning!") file.close() #輸入文本里的內容 file1 =open(r"C:\Users\123\1.txt","r",encoding="utf-8") print(file1.read())

運行結果:

hi! good morning!

如果我們需要一行一行的輸出,可以使用.readline() 或 .readlines()

使用.readline()

file1 = open(r"C:\Users\123\1.txt","r",encoding="utf-8") print(file1.readline()) print(file1.readline())

運行結果:

hi!good morning!

使用.readlines()會生成一個列表,所以下面的內容中,我們把列表遍歷輸出

#向文本內追加內容 file1 = open(r"C:\Users\123\1.txt","r",encoding="utf-8") # print(file1.readlines()) #使用.readlines() 會生成一個列表 data = file1.readlines() i = 1 for nr in data:print("第{}行內容為{}".format(i,nr))i=i+1

運行結果:

1行內容為hi!2行內容為good morning!

注意: 考慮到安全因素,文件調用完記得使用 file.close()將文件關閉.

.read() 和 .seek()
當我們使用 .read()輸出完內容后,再次調用輸出內容為空,是因為指針這時指向了最后,如果我們想要再次輸出的話可以使用.seek()來改變指針的位置,從而再次輸出.

file1 = open(r"C:\Users\123\1.txt","r",encoding="utf-8") print(file1.read()) print(file1.read())

我們可以看到運行結果,只有一次內容輸出

hi! good morning!

使用.seek()后

file1 = open(r"C:\Users\123\1.txt","r",encoding="utf-8") print(file1.read()) file1.seek(0) print(file1.read())

運行結果:

hi! good morning! hi! good morning!

.readline(num)的用法
例如,我們輸出該文件的第一個字符

file1 = open(r"C:\Users\123\1.txt","r",encoding="utf-8") data1 = file1.readline(1) print(data1)

運行結果:

h
安全的打開文件(自動調用.close())
with open("test.txt","w",encoding="utf-8") as f:f.write("測試寫入")with open("test.txt","r",encoding="utf-8") as f:for line in f:print(line,end="")

運行結果:

測試寫入
利用os模塊對文件的一些基本操作

使用內置模塊時需要先引用
所以使用: import 引用
對路徑可以加\表示是路徑,也可以在前面加R或者r表示

import os os.mkdir(r"C:\Users\123\one") #在某個路徑下創建文件夾,對C盤操作可能沒有權限,會報錯print(os.getcwd()) #獲取程序運行的當前目錄print(os.chdir(r"E:\1111")) #改變到某個目錄下 print(os.getcwd())os.chdir("../") #切換到上級目錄 print(os.getcwd())a=os.listdir(r"E:\1111") #獲取指定目錄下的文件列表 print(a)os.rmdir(r"E:\1111") #刪除空的文件夾import shutil shutil.rmtree(r"E:\1111\444") #刪除非空的文件夾

總結

以上是生活随笔為你收集整理的python笔记之文件的基本操作和os模块的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。