python 文件操作的模块_Python之文件操作修改模块
1.使用OS模塊進(jìn)行path路徑操作
操作的語法為os.path.方法名();
import os # 首先導(dǎo)入os模塊
*abspath()方法:獲取當(dāng)前文件的全路徑,所帶參數(shù)為file;
file_path = os.path.abspath(__file__) # 獲取當(dāng)前文件的全路徑
print(file_path)
dirname()方法: 獲取當(dāng)前文件的目錄全路徑,所帶參數(shù)為文件全路徑;
dir_path = os.path.dirname(file_path) # 獲取當(dāng)前文件的目錄全路徑
print(dir_path)
join()方法:使用拼接方法來拼接路徑,第一個參數(shù)為文件目錄路徑,第二個參數(shù)為需要拼接的路徑;
img_path = os.path.join(dir_path, 'img') # 拼接路徑
print(img_path)
basename()方法:獲取文件名,所帶參數(shù)為文件全路徑;
file_name = os.path.basename(file_path) # 獲取文件名
print(file_name)
split()方法:切割方法, 獲取目錄和文件名,所得結(jié)果為一個元組;
tuple_path = os.path.split(file_path) # 獲取目錄和文件名
print(tuple_path)
2.pathlib模塊
使用pathlib模塊需要導(dǎo)入Path類,將Path類實例化為一個path對象,或者直接使用Path類初始化新的路徑;
from pathlib import Path
path = Path()
print(path) # 顯示當(dāng)前目錄
path1 = Path('var', 'log', 'message') # 路徑初始化
print(path1)
path2 = Path('/var', 'log', 'message') # 路徑初始化
print(path2)
如果你依然在編程的世界里迷茫,
不知道自己的未來規(guī)劃,
對python感興趣,
這里推薦一下我的學(xué)習(xí)交流圈QQ群:895 797 751,
里面都是學(xué)習(xí)python的,
joinpath()方法:拼接路徑;
path3 = path2.joinpath('message.log') # 路徑拼接 /var/log/message/message.log
print(path3)
parent:返回目錄路徑;
path4 = path3.parent # 返回目錄路徑
print(path4)
parents:返回一個路徑對象,可通過for循環(huán)遍歷獲取;
path5 = path3.parents # 返回一個對象
print(path5)
name:獲取文件名;
for i in path5:
print(i)
print(path3.name) # message.log
suffix:獲取擴展名;
print(path3.suffix) # 擴展名
suffixes:獲取擴展名列表,列表類型;
print(path3.suffixes) # 擴展名列表
cwd()方法:獲取文件當(dāng)前名;
print(path3.cwd()) # 當(dāng)前目錄
glob()方法:通配符方法,如'*.log',表示找到所有以.log結(jié)尾的文件;
objs = path3.parent.parent.glob('*.log') # 匹配目錄下面以.log結(jié)尾的文件
for i in objs:
print(i)
3.sys模塊
使用之前需要導(dǎo)入sys模塊;
import sys
sys.argv:實現(xiàn)從程序外部向程序傳遞參數(shù);
print(sys.argv[0]) # 當(dāng)前文件路徑
print(sys.argv.__len__() -1) # 參數(shù)個數(shù)
print(sys.argv[1]) # 第一個參數(shù)
sys.path:獲取指定模塊搜索路徑的字符串集合,可以將寫好的模塊放在得到的某個路徑下,就可以在程序中import時正確找到;
print(sys.path) # Python的搜索路徑
sys.exit(n): 退出程序,正常退出時exit(0) ;
import sys
print("開始")
try:
sys.exit(1)
except SystemExit:
print("中途退出")
print("退出")
# 輸出:
# 開始
# 中途退出
# 退出
如果你依然在編程的世界里迷茫,
不知道自己的未來規(guī)劃,
對python感興趣,
這里推薦一下我的學(xué)習(xí)交流圈QQ群:895 797 751,
里面都是學(xué)習(xí)python的,
sys.modules :返回系統(tǒng)導(dǎo)入的模塊字段,key是模塊名,value是模塊 ;
4.shutil模塊
使用之前需要導(dǎo)入shutil模塊;
copy()方法:文件系統(tǒng)發(fā)級別的拷貝,將一個文件的內(nèi)容拷貝到另一個文件中,類似于Linux系統(tǒng)的copy;
import shutil
# ./monitor.py 源文件
shutil.copy('./monitor.py', 'hello.py')
5.copy模塊
使用之前需要導(dǎo)入copy模塊;
copy.copy():淺拷貝,只拷貝父對象,不會拷貝對象的內(nèi)部的子對象;
copy.deepcopy():深拷貝,復(fù)制了對象和對象的所有子對象;
import copy
lst = [1,123]
lst.copy()
# 淺拷貝
string1 = copy.copy('321')
print(string1) # 321
# 深拷貝
string2 = copy.deepcopy('321')
print(string2) # 321
如果你依然在編程的世界里迷茫,
不知道自己的未來規(guī)劃,
對python感興趣,
這里推薦一下我的學(xué)習(xí)交流圈QQ群:895 797 751,
里面都是學(xué)習(xí)python的,
6.文件路徑斜桿問題
'/ ':正斜桿,linux下使用正斜桿作為分隔符;
'\ ':反斜桿,windows下使用的是反斜桿作為分隔符;
注意:網(wǎng)頁的背景圖片路徑必需是'/ '正斜桿,還有'\'反斜桿有時候代表轉(zhuǎn)義符;
總結(jié)
以上是生活随笔為你收集整理的python 文件操作的模块_Python之文件操作修改模块的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 测试无数据_无数据驱动自动化测试
- 下一篇: 以太网数据帧的报尾封装字段是什么_利用T