1. 程式人生 > >python3文件操作相關模塊

python3文件操作相關模塊

python3 文件相關模塊

os模塊:

>> os.curdir
‘.‘

>> os.pardir
‘..‘

>> os.sep #路徑分隔符,不同的操作系統看到的結果不一樣
‘/‘

>> os.linesep #換行符,不同的操作系統看到的也不一樣,windox
‘\n‘

>> os.getcwd() #獲取當前路徑
‘/root/桌面/111‘

>> os.listdir() #獲取當前目錄的內容,相當於ls

>> os.listdir(‘/‘) #獲取指定目錄的內容

>> os.chdir(‘/tmp‘) #切換目錄

>> os.mkdir(‘1221‘) #創建文件,以相對路徑創建文件,創建在切換後的路徑下。

>> os.mknod(‘test.txt‘) #創建文件

>> os.symlink(‘/etc/hosts‘, ‘zhuji‘) #創建軟連接

os.chmod()    #待研究,與python2的數字授權不同

os.path.<兩次TAB鍵>    #
    >>> os.path.dirname(‘/home/abc/xyz‘)    #切割,去除右邊的名字
        ‘/home/abc‘
    >>> os.path.split(‘/etc/rsync.conf‘)    #返回全部名稱段
        (‘/etc‘, ‘rsync.conf‘)
    >>> os.path.splitext(‘abc.txt‘)     #切割擴展名
        (‘abc‘, ‘.txt‘)
    >>> os.path.join(‘/home/abc‘, ‘xyz‘)    #拼接字段
        ‘/home/abc/xyz‘
    >>> os.path.isfile(‘/etc/hosts‘)    #是文件返回True
        True
    >>> os.path.isdir(‘/etc‘)   #是目錄返回Ture
        True
    >>> os.path.islink(‘/etc/grub.cfg‘)     #判斷是不是快捷方式,是返回Ture
        False

    >>> os.path.exists(‘/etc‘)  #判斷,存在及返回True
        True
    >>> os.path.basename(‘/home/abc/xyz‘)   #保留最右邊文件名
        ‘xyz‘

shutil模塊:(大概是文件操作的模塊)
刪除、拷貝
shutil.rmtree(‘/opt/mypy‘) #刪除有文件的目錄

拷貝文件:
>>> shutil.copy2(‘/etc/passwd‘, ‘/opt/test‘)    #保留權限拷貝,cp -r
    ‘/opt/test/passwd‘
>>> os.listdir(‘/opt/test‘)
    [‘passwd‘]

shutil.copyfile(‘/etc/hosts‘, ‘/opt/1234.txt‘)  #拷貝文件內容,有則覆蓋,沒有創建

shutil.copytree(‘/var‘, ‘/opt/1234‘)  #拷貝目錄,有則拷貝,有相同文件報錯,帶創建目錄功能

移動:
>>> shutil.move(‘/opt/test/passwd‘, ‘/opt/123‘)

cPickle模塊:
可以把任意對象存儲在文件中。(字符串、列表、字典等)

使用pickle.dump將對象(dict)存儲在文件中,
>>> import pickle
>>> dict = {‘name‘:‘azj‘, ‘age‘:26}
>>> f = open(‘/tmp/aa.txt‘, ‘wb‘)
>>> pickle.dump(dict,f)
>>> f.close()

將文件中的字典使用pickle.load讀取出來。結構沒有變化,可以使用key讀取到value
>>> f = open(‘/tmp/aa.txt‘, ‘rb‘)
>>> data = pickle.load(f)
>>> f.close()
>>> data
{‘name‘: ‘azj‘, ‘age‘: 26}
>>> data[‘name‘]
‘azj‘

python3文件操作相關模塊