国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Python標(biāo)準(zhǔn)庫os庫的常用功能解析

89542767 / 602人閱讀


  小編寫這篇文章的主要目的,是用來告訴大家,在python標(biāo)準(zhǔn)庫中,os常用功能解析的相關(guān)知識,大家要仔細(xì)進(jìn)行閱讀哦。


  1、目錄操作


  1.1、獲取當(dāng)前目錄


 #coding:utf-8
  import os
  #獲取當(dāng)前工作目錄(絕對路徑)
  print(os.getcwd())#E:newpythonProjectBlog
  #獲取當(dāng)前工作目錄(絕對路徑),值以Unicode編碼返回
  print(os.getcwdb())#b'E:\new\pythonProject\Blog'
  #獲取當(dāng)前目錄,以"."表示
  print(os.curdir)#.
  #獲取當(dāng)前目錄的上級目錄,以".."表示
  print(os.pardir)#..

0.png

  1.2、創(chuàng)建目錄


  #coding:utf-8
  import os
  #創(chuàng)建目錄,路徑可以是絕對路徑也可以是相對路徑,linux系統(tǒng)運(yùn)行的程序還需指定mode參數(shù),即文件夾的權(quán)限
  #文件目錄存在時(shí),再次創(chuàng)建會執(zhí)行報(bào)錯(cuò),因此實(shí)際開發(fā)中創(chuàng)建目錄需判斷目錄是否存在
  if os.path.lexists('./test'):#判斷'./test'是否存在
  print("./test已經(jīng)存在")
  else:
  os.mkdir('./test')#穿件'./test'目錄,"."代表當(dāng)前目錄,等效于os.mkdir('test')
  print(os.listdir("E:\new\pythonProject\Blog"))
  #['config','config.txt','demo.py','image','Music','Python0S.py','test','__init__.py']
  #遞歸創(chuàng)建目錄
  if os.path.lexists("E:\new\pythonProject\Blog\test\12\123"):
  pass
  else:
  os.makedirs('test\12\123')
  print(os.listdir("E:\new\pythonProject\Blog\test"))#['12']
  print(os.listdir("E:\new\pythonProject\Blog\test\12"))#['213']
  #os.makedirs('test\12\123')#error FileExistsError:[WinError 183]當(dāng)文件已存在時(shí),無法創(chuàng)建該文件。:'test\12\123'

1.png

  1.3、刪除目錄


  #coding:utf-8
  import os
  #刪除單個(gè)目錄
  #目錄不存在時(shí)報(bào)錯(cuò),刪除時(shí)判斷目錄是否存在
  #os.rmdir('test123')#FileNotFoundError:[WinError 2]系統(tǒng)找不到指定的文件。:'test123'
  if os.path.lexists('test1'):
  os.rmdir('test1')
  else:
  print("test1目錄不存在")
  #非空目錄報(bào)錯(cuò),刪除時(shí)先判斷是否是空目錄,在進(jìn)行刪除
  if os.path.lexists('test2'):
  os.rmdir('test2')#OSError:[WinError 145]目錄不是空的。:'test'
  else:
  print("test2目錄不存在")
  #先判斷目錄是否存在,再判斷目錄是否非空目錄,再進(jìn)行相應(yīng)的操作
  if os.path.lexists('test'):
  if os.listdir('test'):
  print("test目錄非空")
  else:
  os.rmdir('test')
  else:
  print("test目錄不存在")
  #刪除多個(gè)目錄
  #目錄不存在時(shí)報(bào)錯(cuò),開發(fā)時(shí)判斷先判斷目錄是否存在再進(jìn)行操作
  #os.removedirs('test123')#FileNotFoundError:[WinError 2]系統(tǒng)找不到指定的文件。:'test123'
  if os.path.lexists('test4'):
  os.removedirs('test4')
  else:
  print("test4目錄不存在")
  #目錄非空時(shí)報(bào)錯(cuò),
  if os.path.lexists(r"test/12/213"):
  os.removedirs(r"test/12/213")
  else:
  print("test/12/213目錄不存在")#test/12/213 test下只有12目錄12只有213目錄213目錄為空,則刪除test
  #刪除22和44目錄,11目錄非空(存在33目錄),因此11目錄保留
  if os.path.lexists(r"11/22/44"):
  os.removedirs(r"11/22/44")
  else:
  print("11/22/44目錄不存在")
  print(os.listdir())

3.png

  1.4、重命名目錄


  #coding:utf-8
  import os
  #目錄重命名
  #語法格式os.rename('oldName','newName')
  #原目錄不存在時(shí)報(bào)錯(cuò)
  #os.rename('oldTest','newTest')#FileNotFoundError:[WinError 2]系統(tǒng)找不到指定的文件。:'oldTest'->'newTest'
  if os.path.lexists('oldTest'):
  os.rename('oldTest','newTest')
  else:
  print('oldTest目錄不存在')
 if os.path.lexists('11'):
  os.rename('11','newTest')
  else:
  print('11目錄不存在')

3.png

  1.5、切換目錄


  #coding:utf-8
  import os
  #變更工作目錄,將工作目錄變更至E:newpythonProject,在Python中""均有轉(zhuǎn)義字符的作用,
  #因此使用"\"將后面的""轉(zhuǎn)移為""
  #從根目錄起始的文件路徑稱之為絕對路徑,根據(jù)當(dāng)前位置起始的路徑稱之為相對路徑
  print(os.getcwd())#E:newpythonProjectBlog
  #絕對路徑
  os.chdir(r"E:newpythonProjectBlognewTest")
  print(os.getcwd())#E:newpythonProjectBlognewTest
  os.chdir(r"E:newpythonProjectBlog")
  print(os.getcwd())#E:newpythonProjectBlog
  #相對路徑
  os.chdir("./newTest")
  print(os.getcwd())#E:newpythonProjectBlognewTest
  #切換到當(dāng)前目錄的上級目錄
  os.chdir(os.pardir)
  print(os.getcwd())#E:newpythonProjectBlog

 6.png

   1.6、獲取目錄下的文件內(nèi)容


  #coding:utf-8
  import os
  #獲取目錄下的文件內(nèi)容
  #獲取指定目錄下的文件夾和文件的名稱;只會查找指定目錄的當(dāng)前目錄下的文件名和文件夾名稱,不會查找下級的文件名和文件夾名稱
  print(os.listdir("E:\new\pythonProject\Blog"))
  #默認(rèn)當(dāng)前目錄
  print(os.listdir())
  #文件不存在時(shí)報(bào)錯(cuò),使用時(shí)先判斷目錄是否存在
  #print(os.listdir(r"E:newpythonProjectBlog1"))
  #FileNotFoundError:[WinError 3]系統(tǒng)找不到指定的路徑。:'E:\new\pythonProject\Blog1'
  if os.path.lexists(r"E:newpythonProjectBlog1"):
  print(os.listdir(r"E:newpythonProjectBlog1"))
  else:
  print("指定的目錄不存在")
  1.7、判斷目錄是否存在
  1.8、判斷是否是目錄
  #coding:utf-8
  import os
  #目錄不存在和非目錄都返回False
  print(os.path.isdir(r'11'))#False
  print(os.path.isdir(r'config'))#False
  print(os.path.isdir(r'newTest'))#True
  1.9、判斷是否是絕對路徑
  #coding:utf-8
  import os
  #路徑不存在和非絕對路徑都返回False
  print(os.path.isabs(r'11'))#False
  print(os.path.isabs(r'config'))#False
  print(os.path.isabs(r'newTest'))#False
  print(os.path.isabs(r'E:newpythonProjectBlog'))#True


  2、文件操作


  文件的IO操作完成后必須關(guān)閉連接對象


  flags多個(gè)值時(shí)以|隔開


  2.1、讀寫文件


 #coding:utf-8
  import os
  #文件操作
  #文件的IO操作完成后必須關(guān)閉連接對象
  #常用格式os.open(path,flags,mode),mode一般為Linux系統(tǒng)文件操作的參數(shù),設(shè)置文件權(quán)限
  """
  常用的flags:
  os.O_RDONLY:以只讀的方式打開
  os.O_WRONLY:以只寫的方式打開
  os.O_RDWR:以讀寫的方式打開
  os.O_NONBLOCK:打開時(shí)不阻塞
  os.O_APPEND:以追加的方式打開
  os.O_CREAT:創(chuàng)建或打開文件
  os.O_TRUNC:打開一個(gè)文件并截?cái)嗨拈L度為零(必須有寫權(quán)限)
  """
  #flags多個(gè)值時(shí)以|隔開
  #以只讀權(quán)限打開config文件,文件不存在時(shí)報(bào)錯(cuò),先判斷是否存在再進(jìn)行操作,必要時(shí)需先判斷是否為文件
  if os.path.lexists(r'E:new\pythonProjectBlogconfig.txt'):
  fd=os.open(r'E:new\pythonProjectBlogconfig.txt',os.O_RDONLY)
  #讀取11個(gè)字符,從0開始計(jì)數(shù)
  print(os.read(fd,10))#b'12356789ab'
  os.close(fd)
  else:
  pass
  #寫權(quán)限打開config文件
  fd1=os.open("E:\new\pythonProject\Blog\config.txt",os.O_WRONLY)
  #print(os.read(fd1,10))#OSError:[Errno 9]Bad file descriptor
  #將文件的前N個(gè)字符替換為新的字符,替換長度由替換的內(nèi)容長度決定
  os.write(fd1,bytes('python','UTF-8'))#文件的讀寫都是以字節(jié)類型存取
  os.close(fd1)
  #文件存在打開,文件不存在新增
  fd2=os.open("E:\new\pythonProject\Blog\config.txt",os.O_RDWR)
  print(os.read(fd2,10))
  os.write(fd2,bytes('java','UTF-8'))
  print(os.read(fd2,10))
  os.close(fd2)


  #追加模式打開文件,必須具有寫權(quán)限


  fd3=os.open("E:\new\pythonProject\Blog\config.txt",os.O_RDWR|os.O_APPEND)


  print(os.read(fd3,100))


  os.write(fd2,bytes('java','UTF-8'))


  os.close(fd2)


  2.2、創(chuàng)建文件


 #coding:utf-8
  import os
  """
  常用的flags:
  os.O_RDONLY:以只讀的方式打開
  os.O_WRONLY:以只寫的方式打開
  os.O_RDWR:以讀寫的方式打開
  os.O_NONBLOCK:打開時(shí)不阻塞
  os.O_APPEND:以追加的方式打開
  os.O_CREAT:創(chuàng)建或打開文件
  os.O_TRUNC:打開一個(gè)文件并截?cái)嗨拈L度為零(必須有寫權(quán)限)
  """
  #創(chuàng)建空文件
  fd=os.open("text.txt",os.O_CREAT)
  os.close(fd)
  #創(chuàng)建文件并寫入數(shù)據(jù)時(shí)須具有寫權(quán)限
  fd=os.open("text.txt",os.O_CREAT|os.O_RDWR)
  os.write(fd,bytes('Yang','UTF-8'))
  os.close(fd)

  2.3、刪除文件


  #coding:utf-8
  import os
  #文件不存在時(shí)報(bào)錯(cuò)
  if os.path.lexists('text.txt'):
  os.remove('text.txt')
  else:
  print("文件不存在")


  2.4、重命名文件


  #coding:utf-8
  import os
  #文件不存在時(shí)報(bào)錯(cuò)
  if os.path.lexists('text.txt'):
  os.rename('text.txt',"new.txt")
  else:
  print("文件不存在")


  2.5、文件判斷


 #coding:utf-8
  import os
  #文件是否存在
  print(os.path.exists(r"E:newpythonProjectBlogconfig.txt"))#true
  #是否為文件
  print(os.path.isfile(r"E:newpythonProjectBlogconfig.txt"))#True


  3、路徑操作


 #coding:utf-8
  import os
  #拼接
  print(os.path.join("11",'22','33','server.log'))#112233server.log
  #分離路徑中的路徑寄文件名
  print(os.path.split(r"E:newpythonProjectBlogconfig.txt"))#('E:\new\pythonProject\Blog','config.txt')
  print(os.path.split(r"E:newpythonProjectBlog"))#('E:\new\pythonProject','Blog')
  #獲取路徑中的文件名
  print(os.path.basename(r"E:newpythonProjectBlogconfig.txt"))#config.txt
  #獲取路徑中的路徑名
  print(os.path.dirname(r"E:newpythonProjectBlogconfig.txt"))#E:newpythonProjectBlog
  #獲取絕對路徑
  print(os.path.abspath(r"Blogconfig.txt"))#E:newpythonProjectBlogBlogconfig.txt
  #分離文件拓展名
  print(os.path.splitext(r"E:newpythonProjectBlogconfig.txt"))#('E:\new\pythonProject\Blog\config','.txt')


  4、其他


 #coding:utf-8
  import os
  #顯示當(dāng)前使用系統(tǒng)平臺。'nt'代表Windows,'posix'代表Linux
  print(os.name)#nt
  #分隔符
  print("11"+os.altsep+'server.log')#11/server.log
  print("11"+os.path.altsep+'server.log')#11/server.log
  #系統(tǒng)路徑分隔符號;window為"",linux為"/"
  print(os.sep)#
  print(os.path.sep)#
  #獲取文件名稱和后綴之間的間隔符號
  print(os.extsep)#.
  print("--------")
  #換行符
  print(os.linesep)
  print("110"+os.linesep+'119')
  #執(zhí)行操作系統(tǒng)指令
  os.system("dir")

  綜上所述,知識就為大家介紹到這里了,希望可以為各位讀者帶來幫助。


文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/127787.html

相關(guān)文章

  • Python基礎(chǔ)之(十)模塊

    摘要:是回調(diào)函數(shù),當(dāng)鏈接服務(wù)器和相應(yīng)數(shù)據(jù)傳輸完畢時(shí)觸發(fā)本函數(shù)可選。僅僅是針對的,在中,已經(jīng)沒有這個(gè)模塊了,取代它的是。由于以流式讀取文件,從而速度較快,切少占用內(nèi)存,但是操作上稍復(fù)雜,需要用戶實(shí)現(xiàn)回調(diào)函數(shù)。 編寫模塊 模塊是程序 模塊就是一個(gè)擴(kuò)展名為.py的Python程序。 編寫模塊 #!/usr/bin/env python # coding=utf-8 lang = python 引...

    jlanglang 評論0 收藏0
  • Python爬蟲學(xué)習(xí)路線

    摘要:以下這些項(xiàng)目,你拿來學(xué)習(xí)學(xué)習(xí)練練手。當(dāng)你每個(gè)步驟都能做到很優(yōu)秀的時(shí)候,你應(yīng)該考慮如何組合這四個(gè)步驟,使你的爬蟲達(dá)到效率最高,也就是所謂的爬蟲策略問題,爬蟲策略學(xué)習(xí)不是一朝一夕的事情,建議多看看一些比較優(yōu)秀的爬蟲的設(shè)計(jì)方案,比如說。 (一)如何學(xué)習(xí)Python 學(xué)習(xí)Python大致可以分為以下幾個(gè)階段: 1.剛上手的時(shí)候肯定是先過一遍Python最基本的知識,比如說:變量、數(shù)據(jù)結(jié)構(gòu)、語法...

    liaoyg8023 評論0 收藏0
  • Python常見的配置文件寫法梳理匯總

      關(guān)于Python,相比大家都不會陌生吧,那么,其中的一些配置文件是什么呢?有沒有可能給大家去進(jìn)行做一個(gè)匯總,匯總的內(nèi)容還是比較的多的,包含寫法等一些相關(guān)的知識,具體的一些相關(guān)匯總,下面給大家詳細(xì)解答下?! ∏把浴 ≡谶@篇文章里所提到的環(huán)境變量種類其多元性由上至下到另一個(gè)先后提升:ini為何要寫環(huán)境變量  在研發(fā)流程中,很多人都會使用一些固定不動主要參數(shù)或者整型變量。對于這類相對固定不動且經(jīng)常使...

    89542767 評論0 收藏0
  • 通過demo學(xué)習(xí)OpenStack開發(fā)所需的基礎(chǔ)知識 -- 單元測試

    摘要:本文將進(jìn)入單元測試的部分,這也是基礎(chǔ)知識中最后一個(gè)大塊。本文將重點(diǎn)講述和中的單元測試的生態(tài)環(huán)境。另外,在中指定要運(yùn)行的單元測試用例的完整語法是。中使用模塊管理單元測試用例。每個(gè)項(xiàng)目的單元測試代碼結(jié)構(gòu)可 本文將進(jìn)入單元測試的部分,這也是基礎(chǔ)知識中最后一個(gè)大塊。本文將重點(diǎn)講述Python和OpenStack中的單元測試的生態(tài)環(huán)境。 單元測試的重要性 github上有個(gè)人畫了一些不同語言的學(xué)...

    douzifly 評論0 收藏0
  • GoFrame框架之gtime時(shí)間模塊,支持自定義時(shí)間格式化語法

    摘要:文章來源通用時(shí)間管理模塊,封裝了常用的時(shí)間日期相關(guān)的方法。并支持自定義的日期格式化語法,格式化語法類似的語法。示例,自定義時(shí)間格式化語法在該示例中,我們給定了四種格式,并將當(dāng)前時(shí)間用這四種格式轉(zhuǎn)換后打印出來。 文章來源:http://gf.johng.cn/494387 通用時(shí)間管理模塊,封裝了常用的時(shí)間/日期相關(guān)的方法。并支持自定義的日期格式化語法,格式化語法類似PHP的date語法...

    Bryan 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<