最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python如何實用File文件的實現(xiàn)

 更新時間:2023年02月13日 09:28:25   作者:小圓-  
本文主要介紹了Python如何實用File文件的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

1、讀寫文件

open()將會返回一個file對象,基本語法:

open(filename,mode)

ilename:是一個包含了訪問的文件名稱的路徑字符串

mode:決定了打開文件的模式:只讀,寫入,追加等,默認文件訪問模式為只讀®

不同模式打開文件的列表:

  • r:以只讀的方式打開文件,文件的指針將會放在文件的開頭,為默認模式
  • rb:以二進制格式打開一個文件用于只讀,文件指針會在文件的開頭
  • r+:打開一個文件用于讀寫,文件指針將會在文件的開頭
  • rb+:以二進制格式打開一個文件用于讀寫,文件指針會放在文件的開頭
  • w:打開一個文件用于寫入,如果該文件已存在則將會覆蓋文件,如果不存在則創(chuàng)建新文件
  • wb:以二進制打開一個文件用于寫入
  • w+:打開一個文件用于讀寫
  • wb+:以二進制格式打開一個文件用于讀寫,如果文件存在則覆蓋,如果不存在則創(chuàng)建新文件
  • a:打開一個文件用于追加內(nèi)容,如果文件已存在,文件指針會放在文件的結尾,如果不存在則創(chuàng)建新文件進行寫入
  • ab:以二進制格式打開一個文件用于追加寫入
  • a+:打開一個文件用于讀寫,如果該文件已存在,文件指針會放在結尾,文件打開時會是追加模式,該文件不存在則創(chuàng)建新文件
  • ab+:以二進制格式打開一個文件用于追加。
>>> file = open('test1.py','w') ?#以寫模式打開文件
>>> file.write('hello python')
12
>>> file.flush() ?#刷新文件內(nèi)容
>>> file.read() ? #文件不可讀
Traceback (most recent call last):
? File "<stdin>", line 1, in <module>
io.UnsupportedOperation: not readable

>>> file = open('test1.py','r') ?#以只讀打開文件
>>> file.readline() ?#讀取一行文件內(nèi)容
'hello python\n'
>>> file.readline()
'hello python\n'
>>> file.readline()
''
>>> file.close() ? #關閉文件

2、文件對象的方法

f.read():讀取一個文件的內(nèi)容

>>> f = open('/etc/passwd','r')>>> f.read(5)  #指定字節(jié)數(shù)讀取   'root:'>>> f.read()   #讀取文件全部內(nèi)容
"root:x:0:0:root:/root:/bin/bash\nbin:x:1:1:bin:/bin:/sbin/nologin\ndaemon:x:2:2:daemon:/sbin:/sbin/nologin\nadm:x:3:4:adm:/var/adm:/sbin/nologin\nlp:x:4:7:lp:/var/spool/lpd:/sbin/nologin\nsync:x:5:0:sync:/sbin:/bin/sync\nshutdown:x:6:0:shutdown:/sbin:/sbin/shutdown\nhalt:x:7:0:halt:/sbin:/sbin/halt\nmail:x:8:12:mail:/var/spool/mail:/sbin/nologin\nuucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin\noperator:x:11:0:operator:/root:/sbin/nologin\ngames:x:12:100:games:/usr/games:/sbin/nologin\ngopher:x:13:30:gopher:/var/gopher:/sbin/nologin\nftp:x:14:50:FTP User:/var/ftp:/sbin/nologin\nnobody:x:99:99:Nobody:/:/sbin/nologin\ndbus:x:81:81:System message bus:/:/sbin/nologin\nvcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin\nabrt:x:173:173::/etc/abrt:/sbin/nologin\nhaldaemon:x:68:68:HAL daemon:/:/sbin/nologin\nntp:x:38:38::/etc/ntp:/sbin/nologin\nsaslauth:x:499:76:Saslauthd user:/var/empty/saslauth:/sbin/nologin\npostfix:x:89:89::/var/spool/postfix:/sbin/nologin\nsshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin\ntcpdump:x:72:72::/:/sbin/nologin\nvmail:x:5000:5000::/home/vmail:/sbin/nologin\napache:x:48:48:Apache:/var/www:/sbin/nologin\nmysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash\nilanni:x:5001:5001::/home/ilanni:/bin/bash\ndovecot:x:97:97:Dovecot IMAP server:/usr/libexec/dovecot:/sbin/nologin\ndovenull:x:498:499:Dovecot's unauthorized user:/usr/libexec/dovecot:/sbin/nologin\n"
>>> f.close()

f.readline():會從文件中讀取單獨的一行,換行符為“\n”,如果返回一個空字符串說明已經(jīng)讀到最后一行

>>> f = open('/etc/passwd','r')
>>> f.readline()   #讀取一行的內(nèi)容
'root:x:0:0:root:/root:/bin/bash\n'
>>> f.readline()
'bin:x:1:1:bin:/bin:/sbin/nologin\n'
>>> f.readline()
'daemon:x:2:2:daemon:/sbin:/sbin/nologin\n'
>>> f.close()

f.readlines():將會以列表的形式返回該文件中包含的所有行

>>> f = open('/etc/passwd','r')
>>> f.readlines()   #讀取所有行
['root:x:0:0:root:/root:/bin/bash\n', 'bin:x:1:1:bin:/bin:/sbin/nologin\n', 'daemon:x:2:2:daemon:/sbin:/sbin/nologin\n', 'adm:x:3:4:adm:/var/adm:/sbin/nologin\n', 'lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin\n', 'sync:x:5:0:sync:/sbin:/bin/sync\n', 'shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown\n', 'halt:x:7:0:halt:/sbin:/sbin/halt\n', 'mail:x:8:12:mail:/var/spool/mail:/sbin/nologin\n', 'uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin\n', 'operator:x:11:0:operator:/root:/sbin/nologin\n', 'games:x:12:100:games:/usr/games:/sbin/nologin\n', 'gopher:x:13:30:gopher:/var/gopher:/sbin/nologin\n', 'ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin\n', 'nobody:x:99:99:Nobody:/:/sbin/nologin\n', 'dbus:x:81:81:System message bus:/:/sbin/nologin\n', 'vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin\n', 'abrt:x:173:173::/etc/abrt:/sbin/nologin\n', 'haldaemon:x:68:68:HAL daemon:/:/sbin/nologin\n', 'ntp:x:38:38::/etc/ntp:/sbin/nologin\n', 'saslauth:x:499:76:Saslauthd user:/var/empty/saslauth:/sbin/nologin\n', 'postfix:x:89:89::/var/spool/postfix:/sbin/nologin\n', 'sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin\n', 'tcpdump:x:72:72::/:/sbin/nologin\n', 'vmail:x:5000:5000::/home/vmail:/sbin/nologin\n', 'apache:x:48:48:Apache:/var/www:/sbin/nologin\n', 'mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash\n', 'ilanni:x:5001:5001::/home/ilanni:/bin/bash\n', 'dovecot:x:97:97:Dovecot IMAP server:/usr/libexec/dovecot:/sbin/nologin\n', "dovenull:x:498:499:Dovecot's unauthorized user:/usr/libexec/dovecot:/sbin/nologin\n"]
>>> f.seek(0)   #跳指針到開頭
0
>>> f.readlines(9)  #指定參數(shù)讀取行
['root:x:0:0:root:/root:/bin/bash\n']
>>> f.readlines(9)
['bin:x:1:1:bin:/bin:/sbin/nologin\n']
>>> f.readlines(9)
['daemon:x:2:2:daemon:/sbin:/sbin/nologin\n']
>>> f.readlines(10)
['adm:x:3:4:adm:/var/adm:/sbin/nologin\n']
>>> f.readlines(1)
['lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin\n']
>>> f.readlines()
['sync:x:5:0:sync:/sbin:/bin/sync\n', 'shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown\n', 'halt:x:7:0:halt:/sbin:/sbin/halt\n', 'mail:x:8:12:mail:/var/spool/mail:/sbin/nologin\n', 'uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin\n', 'operator:x:11:0:operator:/root:/sbin/nologin\n', 'games:x:12:100:games:/usr/games:/sbin/nologin\n', 'gopher:x:13:30:gopher:/var/gopher:/sbin/nologin\n', 'ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin\n', 'nobody:x:99:99:Nobody:/:/sbin/nologin\n', 'dbus:x:81:81:System message bus:/:/sbin/nologin\n', 'vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin\n', 'abrt:x:173:173::/etc/abrt:/sbin/nologin\n', 'haldaemon:x:68:68:HAL daemon:/:/sbin/nologin\n', 'ntp:x:38:38::/etc/ntp:/sbin/nologin\n', 'saslauth:x:499:76:Saslauthd user:/var/empty/saslauth:/sbin/nologin\n', 'postfix:x:89:89::/var/spool/postfix:/sbin/nologin\n', 'sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin\n', 'tcpdump:x:72:72::/:/sbin/nologin\n', 'vmail:x:5000:5000::/home/vmail:/sbin/nologin\n', 'apache:x:48:48:Apache:/var/www:/sbin/nologin\n', 'mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash\n', 'ilanni:x:5001:5001::/home/ilanni:/bin/bash\n', 'dovecot:x:97:97:Dovecot IMAP server:/usr/libexec/dovecot:/sbin/nologin\n', "dovenull:x:498:499:Dovecot's unauthorized user:/usr/libexec/dovecot:/sbin/nologin\n"]
>>>

f.write():將內(nèi)容寫入到文件中,然后返回寫入的字符數(shù)

>>> f = open('test2.py','w')  #python學習交流群:309488165
>>> f.write('hello python')   #寫入內(nèi)容
12
>>> libex = 'hhhhhhhhhhhhhh'
>>> f.write(libex)   #按變量寫入內(nèi)容
14
>>> f.close()  #關閉文件
>>> 
[root@python day7]# cat test2.py   #內(nèi)容沒有換行符
hello pythonhhhhhhhhhhhhhh[root@python day7]#

f.tell():返回文件對象當前所處的位置,它是從文件開頭開始算起的字節(jié)數(shù)

>>> f = open('test2.py','r')
>>> f.tell()   #指針當前位置
0
>>> f.readline()   #讀取一行文件后
'hello pythonhhhhhhhhhhhhhh'
>>> f.tell()   #指針移動26字節(jié)數(shù)處
26
>>> f.close()  #關閉文件

f.seek():改變當前文件指針的位置,f.seek(offset,from_what)

from_what的值,如果是0表示開頭,如果是1表示當前位置,2表示文件的結尾:

seek(x,0):從文件首行首字符開始移動x個字符

seek(x,1):從當前為往后移動x個字符

seek(-x,2):從文件的結尾往前移動x個字符

from_what值默認為0,即文件開頭。

>>> f = open('test3.py','a+')
>>> f.readlines()
[]
>>> f.seek(0)  #開頭
0
>>> f.readlines()
['aaa\n', 'bbb\n', 'ccc\n', 'ddd\n', 'eee\n']
>>> f.tell()
20

f.clise():關閉文件并釋放系統(tǒng)的資源。

>>> f = open('test3.py','r')
>>> f.readlines()
['aaa\n', 'bbb\n', 'ccc\n', 'ddd\n', 'eee\n']
>>> f.close()  #關閉文件

到此這篇關于Python如何實用File文件的實現(xiàn)的文章就介紹到這了,更多相關Python File文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 詳解Python使用tensorflow入門指南

    詳解Python使用tensorflow入門指南

    本篇文章主要介紹了詳解Python使用tensorflow入門指南,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-02-02
  • Python3實現(xiàn)發(fā)送QQ郵件功能(html)

    Python3實現(xiàn)發(fā)送QQ郵件功能(html)

    這篇文章主要為大家詳細介紹了Python3實現(xiàn)發(fā)送QQ郵件功能,html格式的qq郵件,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • python應用之如何使用Python發(fā)送通知到微信

    python應用之如何使用Python發(fā)送通知到微信

    現(xiàn)在通過發(fā)微信信息來做消息通知和告警已經(jīng)很普遍了,下面這篇文章主要給大家介紹了關于python應用之如何使用Python發(fā)送通知到微信的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-03-03
  • Django中使用第三方登錄的示例代碼

    Django中使用第三方登錄的示例代碼

    這篇文章主要介紹了Django中使用第三方登錄的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • paramiko使用tail實時獲取服務器的日志輸出詳解

    paramiko使用tail實時獲取服務器的日志輸出詳解

    這篇文章主要給大家介紹了關于paramiko使用tail實時獲取服務器的日志輸出的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • 使用Python實現(xiàn)將數(shù)據(jù)寫入Excel工作表

    使用Python實現(xiàn)將數(shù)據(jù)寫入Excel工作表

    在數(shù)據(jù)處理和報告生成等工作中,Excel?表格是一種常見且廣泛使用的工具,本文中將介紹如何使用?Python?寫入數(shù)據(jù)到?Excel?表格,并提供更高效和準確的?Excel?表格數(shù)據(jù)寫入方案,需要的可以參考下
    2024-01-01
  • Python繪制三角函數(shù)圖(sin\cos\tan)并標注特定范圍的例子

    Python繪制三角函數(shù)圖(sin\cos\tan)并標注特定范圍的例子

    今天小編就為大家分享一篇Python繪制三角函數(shù)圖(sin\cos\tan)并標注特定范圍的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python?網(wǎng)易易盾滑塊驗證功能的實現(xiàn)

    Python?網(wǎng)易易盾滑塊驗證功能的實現(xiàn)

    這篇文章主要介紹了Python?網(wǎng)易易盾滑塊驗證,主要是借助之前寫阿里云盾滑塊和極驗滑塊的經(jīng)驗寫的本文,通過使用selenium請求url,并觸發(fā)滑塊驗證,需要的朋友可以參考下
    2022-05-05
  • python如何在字典中插入或增加一個字典

    python如何在字典中插入或增加一個字典

    這篇文章主要介紹了python如何在字典中插入或增加一個字典問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Python編程根據(jù)字典列表相同鍵的值進行合并

    Python編程根據(jù)字典列表相同鍵的值進行合并

    這篇文章主要介紹了來學習Python字典列表根據(jù)相同鍵的值進行合并的操作方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2021-10-10

最新評論

丽江市| 天台县| 辽阳县| 大荔县| 兴和县| 磴口县| 图们市| 芦溪县| 林州市| 肇东市| 武清区| 崇左市| 安仁县| 政和县| 上虞市| 关岭| 改则县| 云南省| 宣城市| 台南县| 图木舒克市| 汉阴县| 梧州市| 东乡| 宜宾市| 四子王旗| 晴隆县| 新闻| 洪江市| 酒泉市| 桓台县| 丹凤县| 方山县| 兴化市| 永泰县| 钦州市| 龙里县| 淳化县| 鹤壁市| 新郑市| 黎川县|