溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

python中文件操作修改模塊有哪些

發(fā)布時(shí)間:2021-11-19 17:20:27 來(lái)源:億速云 閱讀:196 作者:小新 欄目:編程語(yǔ)言

小編給大家分享一下python中文件操作修改模塊有哪些,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

1.使用OS模塊進(jìn)行path路徑操作
  • 操作的語(yǔ)法為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()方法:使用拼接方法來(lái)拼接路徑,第一個(gè)參數(shù)為文件目錄路徑,第二個(gè)參數(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é)果為一個(gè)元組;

tuple_path = os.path.split(file_path)  # 獲取目錄和文件名
print(tuple_path)
2.pathlib模塊
  • 使用pathlib模塊需要導(dǎo)入Path類(lèi),將Path類(lèi)實(shí)例化為一個(gè)path對(duì)象,或者直接使用Path類(lèi)初始化新的路徑;

from pathlib import Path
path = Path()
print(path)  # 顯示當(dāng)前目錄
path2 = Path('var', 'log', 'message') # 路徑初始化
print(path2)
path3 = Path('/var', 'log', 'message') # 路徑初始化
print(path3)
  • joinpath()方法:拼接路徑;

path4 = path3.joinpath('message.log') # 路徑拼接 /var/log/message/message.log
print(path4)
  • parent:返回目錄路徑;

path5 = path4.parent  # 返回目錄路徑
print(path5)
  • parents:返回一個(gè)路徑對(duì)象,可通過(guò)for循環(huán)遍歷獲??;

path6 = path4.parents  # 返回一個(gè)對(duì)象
print(path6)
  • name:獲取文件名;

for i in path6:
    print(i)
print(path4.name)  # message.log
  • suffix:獲取擴(kuò)展名;

print(path4.suffix) # 擴(kuò)展名
  • suffixes:獲取擴(kuò)展名列表,列表類(lèi)型;

print(path4.suffixes) # 擴(kuò)展名列表
  • cwd()方法:獲取文件當(dāng)前名;

print(path4.cwd()) # 當(dāng)前目錄
  • glob()方法:通配符方法,如’*.log’,表示找到所有以.log結(jié)尾的文件;

objs = path4.parent.parent.glob('*.log')  # 匹配目錄下面以.log結(jié)尾的文件
for i in objs:
    print(i)
3.sys模塊
  • 使用之前需要導(dǎo)入sys模塊;

import sys
  • sys.argv:實(shí)現(xiàn)從程序外部向程序傳遞參數(shù);

print(sys.argv[0])  # 當(dāng)前文件路徑
print(sys.argv.__len__() -1)  # 參數(shù)個(gè)數(shù)
print(sys.argv[1]) # 第一個(gè)參數(shù)
  • sys.path:獲取指定模塊搜索路徑的字符串集合,可以將寫(xiě)好的模塊放在得到的某個(gè)路徑下,就可以在程序中import時(shí)正確找到;

print(sys.path)  # Python的搜索路徑
  • sys.exit(n): 退出程序,正常退出時(shí)exit(0) ;

import sys
print("開(kāi)始")
try:
    sys.exit(1)
except SystemExit:
    print("中途退出")
print("退出")
# 輸出:
# 開(kāi)始
# 中途退出
# 退出
  • sys.modules :返回系統(tǒng)導(dǎo)入的模塊字段,key是模塊名,value是模塊 ;

4.shutil模塊
  • 使用之前需要導(dǎo)入shutil模塊;

  • copy()方法:文件系統(tǒng)發(fā)級(jí)別的拷貝,將一個(gè)文件的內(nèi)容拷貝到另一個(gè)文件中,類(lèi)似于Linux系統(tǒng)的copy;

import shutil
# ./monitor.py 源文件
shutil.copy('./monitor.py', 'hello.py')
5.copy模塊
  • 使用之前需要導(dǎo)入copy模塊;

  • copy.copy():淺拷貝,只拷貝父對(duì)象,不會(huì)拷貝對(duì)象的內(nèi)部的子對(duì)象;

  • copy.deepcopy():深拷貝,復(fù)制了對(duì)象和對(duì)象的所有子對(duì)象;

import copy
lst = [1,123]
lst.copy() 
# 淺拷貝
string1 = copy.copy('321')
print(string1)  # 321
# 深拷貝
string2 = copy.deepcopy('321')
print(string2)  # 321
6.文件路徑斜桿問(wèn)題
  • '/ ':正斜桿,linux下使用正斜桿作為分隔符;

  • '\ ':反斜桿,windows下使用的是反斜桿作為分隔符;

  • 注意:網(wǎng)頁(yè)的背景圖片路徑必需是'/ '正斜桿,還有'\'反斜桿有時(shí)候代表轉(zhuǎn)義符。

以上是“python中文件操作修改模塊有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI