目錄
- 1.文件基本操作
- 2.寫入數據
- 3.讀取數據
- 4.追加寫入
- 5.文件路徑
- 6.訪問模式 r w a r+ w+ a+
- 7.讀取操作
- 8.讀取文件的方式
- 9.文件和文件夾的操作
1.文件基本操作
# 文件處理
# 文件: 音頻,視頻,照片,html
# 文件基本操作 打開文件 讀取文件數據 寫入文件數據 關閉文件數據
# 作用:為了方便管理數據 存儲數據 下次可以直接使用
# 打開 open(文件路徑,)
# 讀取 read
# 寫入 write
# 關閉 close
2.寫入數據
# 打開test1.txt文件,寫入數據 w
f = open('test1.txt','w',encoding = 'utf-8')
f.write('哈嘍你好')
# print(f.read())
f.close()
3.讀取數據
f = open('test1.txt','r',encoding = 'utf-8')
print(f.read())
f.close()
4.追加寫入
# w是寫入,沒有文件創建文件 w會覆蓋原有的內容
# r是讀取, 沒有文件不會創建文件
# a是追加
f = open('test1.txt','a',encoding = 'utf-8')
f.write('你真好玩')
f.close()
f = open('test1.txt','w',encoding = 'utf-8')
f.write('你是來開玩笑的嗎?')
f.close()
5.文件路徑
# open(文件路徑,訪問模式)
# 絕對路徑:詳細地址
# 相對路徑:運行文件 相對於你的路徑
# ./當前目錄 運行文件在根目錄 你要找文件夾的內容 找到class06房間裏的test1.txt 怎麼找 相對路徑
# f = open('./class06/test1.txt','r')
# print(f.read())
f.close()
# ../上級目錄 運行文件在文件夾裏面 我要找class05文件夾裏面的test1.txt
f=open('../class06/test1.txt','r',encoding='utf-8')
print(f.read())
f.close()
# 注意:你的運行文件在哪
# 絕對路徑:詳細地址
f = open(r'C:\Users\user\PycharmProjects\cema\class06\test1.txt','r',encoding='utf-8')
print(f.read())
f.close()
# 文件路徑 open(文件路徑,訪問模式
# 相對路徑 絕對路徑
6.訪問模式 r w a r+ w+ a+
# r+讀取可以寫
f = open('test1.txt','r+',encoding='utf-8')
print(f.read())
f.close()
f = open('test1.txt','r+',encoding='utf-8')
print(f.tell())
# tell指針比特置
# 指針放到最後,偏移指針比特置seek seek(字節數,指針比特置)0開頭,1當前比特置 2結尾比特置
# f.seek(0,2)
f.seek(0,1)
print(f.tell())
f.write('司小幽')
f.close()
# w+是會覆蓋掉
f = open('test1.txt','w+',encoding='utf-8')
print(f.tell())
f.seek(0,2)
f.write('你好,媽媽咪呀')
f.close()
# a+
f = open('test1.txt','a+',encoding='utf-8')
print(f.tell())
f.seek(0,0)
f.write('\n我是來追加的')
f.close()
# rb wb ab二進制文件
# 二進制文件:不能用txt打開
# 文本文件:能用txt打開
7.讀取操作
# read() 讀取整個文件
# readline():讀取一行
# readlines():讀取所有的放在列錶中
# 讀取某一行的內容
f=open('test1.txt','r',encoding='utf-8')
# print(f.read())
# print(f.readline())
# print(f.readlines())
print(f.readlines()[1])
f.close()
8.讀取文件的方式
# with open(路徑,訪問模式) as 變量名:
# 代碼塊
with open('test1.txt','r',encoding='utf-8') as f:
print(f.read())
# 這種方式不用關閉
# 文件路徑和讀取文件的操作 讀取yaml文件
9.文件和文件夾的操作
# os模塊:提供了處理文件和文件目錄的操作
import os
# 創建一個文件夾 w文件路徑
file=r'C:\Users\user\PycharmProjects\cema\class06\sixiaoyou'
# os.mkdir((file))
# 刪除文件夾
# os.rmdir(file)
# 非空文件夾
# import shutil
# shutil.rmtree(file)
# 文件重命名
# os.rename('test1.txt','test55.txt')
# 判斷是文件
# print(os.path.isdir(file))
# 判斷是文件
print(os.path.isfile(file))
# 獲取文件路徑
# 獲取文件夾絕對路徑
print(os.getcwd())
# 文件的絕對路徑
# print(os.path.abspath(__file__))
print(__file__)
# 當前路徑的父路徑
# print(os.path.dirname(os.path.abspath(__file__)))
# 數據庫 絕對路徑 config/conf.ini
print(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
# C:\Users\user\PycharmProjects\cema\class06\config
a = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))),'config')
print(a)
print(a+'\conf.ini')
print(a+'\info.yaml')