python共通モジュールコマンドos,sys,shutil

4740 ワード

python共通モジュールコマンドos,sys,shutil
osモジュール:ディレクトリまたはファイルの新規/削除/表示ファイルプロパティを提供し、ファイルおよびディレクトリへのパス操作も提供します.たとえば、絶対パス、親ディレクトリ......shutilモジュール:os内のファイル操作の補完.–モバイルレプリケーションパッケージ圧縮解凍機能sysモジュール:Python解釈器とその環境に関する関数を含む
1.よく使われる組み込み関数:(importを使わずに直接使用できます)
help(obj)     , obj       
callable(obj)     obj             
repr(obj)   obj      ,         eval           
eval_r(str)      python   ,        
dir(obj)   obj name space    name 
hasattr(obj,name)     obj name space    name 
getattr(obj,name)     obj name space    name 
setattr(obj,name,value)    obj name space    name  vale  object 
delattr(obj,name)  obj name space     name 
vars(obj)     object name space。 dictionary   
locals()       name space, dictionary   
globals()       name space, dictionary   
type(obj)     obj    
isinstance(obj,cls)   obj   cls instance 
issubclass(subcls,supcls)   subcls   supcls    

タイプ変換関数
chr(i)    ASCII  ,     
ord(i)        unicode  ,  ASCII   
oct(x)    x            
hex(x)    x             
str(obj)   obj       
list(seq)    sequence     list 
tuple(seq)    sequence     tuple 
dict(),dict(list)      dictionary 
int(x)      integer 
long(x)      long interger 
float(x)          
complex(x)       
max(...)      
min(...)      

プログラムを実行するための組み込み関数complieコードが頻繁に使用される場合は、コンパイルしてから実行すると高速になります.
2.オペレーティングシステムに関する呼び出しシステムに関する情報モジュールimport sys
sys.argv   list,          . 
sys.stdout sys.stdin sys.stderr           ,         . 
sys.stdin.readline()          sys.stdout.write("a")     a 
sys.exit(exit_code)      
sys.modules    dictionary,          module 
sys.platform             
sys.path    list,      module,package   . 

オペレーティングシステム関連の呼び出しとオペレーティングimport os
os.environ   dictionary             os.environ["HOME"]         HOME   
os.chdir(dir)        os.chdir('d:\\outlook')   windows      
os.getcwd()        
os.getegid()      id  os.getgid()    id 
os.getuid()     id  os.geteuid()       id 
os.setegid os.setegid() os.seteuid() os.setuid() 
os.getgruops()           
os.getlogin()          
os.getenv        
os.putenv        
os.umask   umask 
os.system(cmd)       ,  cmd   

例:
  os.mkdir('/tmp/xx') os.system("echo 'hello' > /tmp/xx/a.txt") os.listdir('/tmp/xx') 
  os.rename('/tmp/xx/a.txt','/tmp/xx/b.txt') os.remove('/tmp/xx/b.txt') os.rmdir('/tmp/xx') 
   python       shell 
    #!/usr/bin/python 
    import os, sys 
    cmd = sys.stdin.readline() 
    while cmd: 
        os.system(cmd) 
        cmd = sys.stdin.readline() 

OSでpath作成プラットフォームに関係のないプログラム
os.path.abspath("1.txt") == os.path.join(os.getcwd(), "1.txt") 
os.path.split(os.getcwd())                        。 
os.path.join(os.getcwd(), os.pardir, 'a', 'a.doc')       . 
  os.pardir                 .. 
os.path.getctime("/root/1.txt")    1.txt ctime(    )    
os.path.exists(os.getcwd())          
os.path.expanduser('~/dir')  ~         
os.path.expandvars('$PATH')       PATH 
os.path.isfile(os.getcwd())         ,1 0  
os.path.isdir('c:\Python26\temp')        ,1 0  
os.path.islink('/home/huaying/111.sql')         windows     
os.path.ismout(os.getcwd())            windows     
os.path.samefile(os.getcwd(), '/home/huaying')                    
os.path.walk('/home/huaying', test_fun, "a.c")  
    /home/huaying           ,            test_fun. 
   :      ,              a.c      。 
    def test_fun(filename, dirname, names): //filename  walk  a.c dirname         
        if filename in names: //names   list,  dirname         
            print os.path.join(dirname, filename) 
    os.path.walk('/home/huaying', test_fun, "a.c") 

3、shutil機能:
1)shutil.copyfileobj(fsrc,fdst[,length=16*1024])#copyファイルの内容は別のファイルに、copyでサイズを指定できる内容2)shutil.copyfile(src,dst)#copyファイルの内容は、上のファイルのコピーが面倒だと思いますか?自分でopen関数でファイルを開く必要があります.ここでは必要ありません.実際、copyfileはcopyfileobj 3)hutilを呼び出します.copymode(src,dst)#copy権限のみで、ファイルの内容、グループ、ユーザーは変更されません.4)shutil.copystat(src,dst)#は、権限、グループ、ユーザ、時間など、すべての状態情報をコピーする.5)shutil.copy(src,dst)#ファイルの内容および権限をコピーし、copyfileの後にcopymode 6)shutil.copy 2(src,dst)#ファイルの内容およびファイルのすべての状態情報をコピーします.先にcopyfile後copystat 7)shutil.copytree(src,dst,symlinks=False,ignore=None,copy_function=copy 2,ignore_dangling_symlinks=False)#再帰的コピーファイル内容および状態情報8)shutil.rmtree(path, ignore_errors=False, οnerrοr=None)#ファイルを再帰的に削除する9)shutil.move(src,dst)#再帰的移動ファイル10)make_archive(base_name,format,root_dir=None,base_dir=None,verbose=0,dry_run=0,owner=None,group=None,logger=None)#圧縮パッケージ