Python的標準庫sys copy os相關用法

2021-08-07 23:11:14 字數 1941 閱讀 9993

1.sys庫相關函式

1.1 sys.argv

sys.argv是用來專門向python直譯器傳遞引數,所以稱為命令列引數

舉例說明:

import sys

print("the file name:",sys.argv[0])

print("the number of argument",len(sys.argv))

print("the argument is :",str(sys.argv))

這裡輸出結果為:

('the file name:', 'f:/python work/1.py')

('the number of argument', 1)

('the argument is :', "['f:/python work/1.py']")

這裡我在ide中直接執行的該檔案,因此檔案的位址加上檔名或作為命令列引數。

在傳遞的過程中我們顯示了命令列引數的第一項,總的長度,以及字串的顯示

1.2  sys.exit

這個函式的目的是退出當前程式

import sys

for i in range (10):

if i==5:

sys.exit(0)

else:

print(i)

結果是顯示0,1,2,3,4

一般我們退出都會使用return函式,用sys.exit退出它可以發起systemexit異常

1.3 sys.path

import sys

sys.path

如果你想使用的模組和你的腳步不在同乙個資料夾,用下面這種方法

import sys

2. os庫

os庫提供了訪問作業系統的服務的功能,下面或講解一下幾種典型的功能

2.1 操作檔案:重新命名、刪除檔案

在對檔案進行操作的時候,open這個內建函式可以開啟檔案,但是如果對檔案進行刪除、重新命名就要使用os模組的方法。

import os

os.rename("1.py","2.py")

我在windows環境下,進行操作最後可以更改檔案名字

2.2 操作目錄

2.2.1 os.listdir

os.listdir是顯示目錄中的內容

在這裡給出乙個例項

例項:這個例項是我前幾天遇到的乙個小麻煩,我要從乙個資料夾a裡進行搜尋,把所有檔案遍歷後將檔案名字儲存到乙個列表中,然後通過這個列表搜尋b資料夾裡的同名檔案,並將這些檔案提取出來

# -*- coding: utf-8 -*-

import os

import sys

import shutil

path='f:/a/jpegimages'.decode('utf-8')

path1='f:/b/annotations'.decode('utf-8')

path2='f:/c/annotation'.decode('utf-8')

list = os.listdir(path)

print(len(list))

print(list)

b=for file in list:

a=file.split('.')[0]

print(b)

for i in b:

ii=(i+'.xml')

shutil.copy(os.path.join(path1,ii), os.path.join(path2, ii))

這裡就是把a的檔名提取出來進行分割後儲存到列表,然後在b中按照此列表來搜尋,搜尋完後把檔案儲存至c,裡面用到了shutil語句,這是用來操作檔案複製的。

python標準庫 時間庫

眾所皆知,每乙個程式語言都有自己的時間類庫,python也不例外用法十分簡單 最基本的類,time類 time基本函式介紹 import time print time.asctime 如果未傳入乙個tuple或乙個time struct就是使用當前的時間,返回乙個24字長的時間字串 就這個mon ...

python標準庫 os庫

os模組主要用於跟作業系統打交道 os模組常用的方法 os.getcwd 獲取當前工作目錄,即當前python指令碼工作的目錄路徑 os.chdir dirname 改變當前指令碼工作目錄 相當於shell下cd os.curdir 返回當前目錄 os.pardir 獲取當前目錄的父目錄字串名 os...

不屬於python標準庫 Python標準庫概覽

總結 這個部分講了一些常用的python庫的方法。一下子也記不住,不過基本都自己敲了 試了試。os模組 os模組介紹了一些作業系統級別的方法 os.getcwd 得到當前工作目錄 os.chdir 改變工作目錄 os.system mkdir haha 建立資料夾haha 字串正則匹配 匯入re模組...