自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

用Python編寫shell腳本時經(jīng)常使用的函數(shù)的介紹

開發(fā) 后端
今我們要向大家介紹的是如何用Python編寫shell腳本,以及Python編寫shell腳本中所要運用到的相關函數(shù)的相關介紹。

在計算機語言的實際應用中用Python編寫shell腳本這一實際應用的過程中是需要相關的函數(shù)的,在以下的文章里就會提及這一函數(shù)在Python編寫shell腳本的具體應用,以下是文章的具體介紹。

雖然我受*nix的影響甚深,但是對于*nix里隨處可見的sh腳本卻是討厭之極。為什么討厭呢?首先 是因為sh腳本那莫名其妙的語法,感覺就像隨寫隨扔的程序,完全沒有任何美感可言。其次是sh腳本的處理能力還是比較弱的,在文本處理、XML處理還有網(wǎng) 絡編程方面,基本上都要借助于perl,awk等一堆程序。

我對這些程序也是不大喜歡的,況且學習第三方軟件總要時間,還不如都用python好了。那,python可以做shell腳本嗎? 首先介紹一個函數(shù):

 

  1. os.system(command) 

這個函數(shù)可以調用shell運行命令行command并且返回它的返回值。試一下在python的解釋器里輸入os.system(”ls -l”),就可以看到”ls”列出了當前目錄下的文件。可以說,通過這個函數(shù),python就擁有了shell的所有能力。不過,通常這條命令不 需要用到。因為shell常用的那些命令在python中通常有對應而且同樣簡潔的寫法。

shell中最常用的是ls命令,python對應的寫法是:os.listdir(dirname),這個函數(shù)返回字符串列表,里面是所有的文件名,不過不包含”.”和”..”。如果要遍歷整個目錄的話就會比較復雜一點。我們等下再說吧。先在解釋器里試一下:

  1. >>> os.listdir(”/”)  
  2. [’tmp’, ‘misc’, ‘opt’, ‘root’, ‘.autorelabel’, 
    ’sbin’, ’srv’, ‘.autofsck’, ‘mnt’, ‘usr’, ‘var’, 
    ‘etc’, ’selinux’, ‘lib’, ‘net’, ‘lost+found’, ’sys’,
     ‘media’, ‘dev’, ‘proc’, ‘boot’, ‘home’, ‘bin’] 

就像這樣,接下去所有命令都可以在python的解釋器里直接運行觀看結果。

對應于cp命令的是:shutil.copy(src,dest),這個函數(shù)有兩個參數(shù),參數(shù)src是指源文件的名字,參數(shù)dest則是目標文件或 者目標目錄的名字。 如果dest是一個目錄名,就會在那個目錄下創(chuàng)建一個相同名字的文件。與shutil.copy函數(shù)相類似的是 shutil.copy2(src,dest),不過copy2還會復制***存取時間和***更新時間。#t#

不過,shell的cp命令還可以復制目錄,python的shutil.copy卻不行,***個參數(shù)只能是一個文件。這怎么辦?其 實,python還有個shutil.copytree(src,dst[,symlinks]) 。參數(shù)多了一個symlinks,用Python編寫shell腳本是一個布爾值,如果是True的話就創(chuàng)建符號鏈接。

移動或者重命名文件和目錄呢?估計被聰明的朋友猜到了,shutil.move(src,dst),呵呵。。與mv命令類似,如果src和dst在 同一個文件系統(tǒng)上,shutil.move只是簡單改一下名字,如果src和dst在不同的文件系統(tǒng)上,shutil.move會先把src復制到 dst,然后刪除src文件??吹浆F(xiàn)在,大多數(shù)朋友應該已經(jīng)對python的能力有點眉目了。 以上就是對如何用Python編寫shell腳本相關的內(nèi)容的介紹,望你會有所收獲。
 

責任編輯:佚名 來源: 互聯(lián)網(wǎng)
相關推薦

2010-03-26 15:28:05

Python編寫

2022-06-21 09:26:21

Shell腳本JavaScript

2017-08-11 17:20:07

LinuxShell

2012-04-26 14:02:58

ibmdw

2016-09-26 14:16:18

shell腳本bash

2016-09-19 15:15:01

shellbash腳本

2023-05-20 17:45:25

LinuxShell

2023-06-28 00:05:44

人工智能聊天機器人ChatGPT

2017-03-16 14:37:05

LinuxShell函數(shù)

2009-12-14 18:10:21

Shell特性技巧

2009-07-29 17:49:05

ibmdwVim

2021-10-08 08:38:00

Pipelineshell命令Jenkins

2011-06-21 11:05:41

內(nèi)聯(lián)函數(shù)

2021-05-11 07:50:31

BashShell腳本

2010-04-15 15:42:11

Oracle數(shù)據(jù)庫

2017-06-26 16:04:11

LinuxShell命令

2009-11-18 13:52:30

PHP shell腳本

2010-03-05 11:58:52

2010-03-05 13:09:23

Linux shell

2010-03-05 11:18:52

Linux shell
點贊
收藏

51CTO技術棧公眾號