006零基礎學Python:Python 文件I/O和File方法--學習筆記

Python 文件I/O和File方法

  1. 概念擴充
  1. Input/Output,也就是輸入和輸出
    由于程序和運行時數據是在內存中駐留,由CPU這個超快的計算核心來執(zhí)行,涉及到數據交換的地方,通常是磁盤、網絡等,就需要IO接口;注意:輸入和輸出是一個相對的概念,但這里都是針對我們的程序而言的。
  2. IO編程中,Stream(流)和緩沖概念
    IO編程中,Stream(流)是一個很重要的概念,可以把流想象成一個水管,數據就是水管里的水,但是只能單向流動。Input Stream就是數據從外面(磁盤、網絡)流進內存,Output Stream就是數據從內存流到外面去。對于瀏覽網頁來說,瀏覽器和新浪服務器之間至少需要建立兩根水管,才可以既能發(fā)數據,又能收數據。
    由于管道的傳輸可能雙發(fā)讀寫速度的不一致性,提高效率考慮,采用了緩沖技術;還是上面的例子,加上一個小桶,數據裝滿“桶”了,再讀寫傳輸。[有的地方叫做:同步和異步;原理一樣。Java中也有類似概念,NIO后好像有了"塊"操作的概念]
  1. 常見的IO的操作
  2. 打印到屏幕
~~~
print "Python hello world,和我一起學python";
~~~
  1. 讀取鍵盤輸入
~~~python

方式1

str = raw_input("請輸入:");
print "你輸入的內容是: ", str

方式2

str = input("請輸入:");
print "你輸入的內容是: ", str
~~~

  1. 文件操作:文件的基本操作,增刪改查
  • 打開:os.fdopen(fd[, mode[, bufsize]])
> ~~~python

f = open('python_text.txt', 'w')
~~~

  • file_name:file_name變量是一個包含了你要訪問的文件名稱的字符串值。
  • ccess_mode:access_mode決定了打開文件的模式:只讀,寫入,追加等。所有可取值見如下的完全列表。這個參數是非強制的,默認文件訪問模式為只讀(r)。
  • buffering:如果buffering的值被設為0,就不會有寄存。如果buffering的值取1,訪問文件時會寄存行。如果將buffering的值設為大于1的整數,表明了這就是的寄存區(qū)的緩沖大小。如果取負值,寄存區(qū)的緩沖大小則為系統(tǒng)默認。
  • 關閉:os.close(fd)

f = close()
~~~
使用系統(tǒng)資源,必須占用,這個是個 好習慣

  • 重命名(可修改目錄):os.renames(old, new)

os.rename( "python_text.txt", "new_python_text.txt" )
~~~
需要兩個參數,當前的文件名和新文件名

  • 刪除: os.remove(path)

os.remove( "new_python_text.txt")
~~~
需要提供要刪除的文件名作為參數。

  1. 目錄操作
  • **當前目錄下創(chuàng)建新的目錄 **:os.mkdir(path[, mode])

os.mkdir("newdir")

需要提供一個包含了要創(chuàng)建的目錄名稱的參數
**注意 **:*當前目錄下創(chuàng)建

-  **改變當前的目錄**:os.chdir(path)
> ~~~python
    # 將當前目錄改為"/home/newdir"
  os.chdir("/home/newdir")
    #給出當前的目錄
    print os.getcwd()
  • **刪除目錄 **:os.remove(path)

os.rmdir('dirname')

刪除" /tmp/test"目錄的例子。目錄的完全合規(guī)的名稱必須被給出,否則會在當前目錄下搜索該目錄。

- 補充和追加內容:
> IO和File這部分內容可以實現(xiàn)蠻多的操作,例如文件的批量新建、拷貝等,包括使用正則時找你要的文件等...

1. 文件的讀寫操作
read(file_name [, access_mode][, buffering])
write(file_name [, access_mode][, buffering])
注意:返回的是文件對象
>~~~python
  f = open('python_text.txt', 'w')
  f.write("hello_python")
  f.close()
  f=open('python_text.txt', 'r')
  s = f.read()
  f.close()
  • file_name:file_name變量是一個包含了你要訪問的文件名稱的字符串值。
  • access_mode:access_mode決定了打開文件的模式:只讀,寫入,追加等。所有可取值見如下的完全列表。這個參數是非強制的,默認文件訪問模式為只讀(r)。
  • buffering:如果buffering的值被設為0,就不會有寄存。如果buffering的值取1,訪問文件時會寄存行。如果將buffering的值設為大于1的整數,表明了這就是的寄存區(qū)的緩沖大小。如果取負值,寄存區(qū)的緩沖大小則為系統(tǒng)默認。
  • 打開文件的模式
    好多就截圖了,可以記住常用就可以(也i挺好記的)


    打開文件的模式
  • 最后結語:aboutmore

其實上面介紹的都是常用的部分
以下擴充:

  1. 添加總結思維導圖:【剛開始分享百度腦圖】http://naotu.baidu.com/file/3e40949648c3e50b003adeebe334c063?token=2d1fecb7301358ce
  2. 代碼比較簡單不貼了,后期看上傳值github或者coding吧!

時間:2017年6月28日00:56:25

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Python文件I/O 本章只講述所有基本的的I/O函數,更多函數請參考Python標準文檔。 input函數 i...
    步_塵閱讀 789評論 0 0
  • 定義類并創(chuàng)建實例 在Python中,類通過 class 關鍵字定義。以 Person 為例,定義一個Person類...
    績重KF閱讀 4,100評論 0 13
  • From: http://www.cnblogs.com/zhoujie/archive/2013/04/10/p...
    pzka158閱讀 1,899評論 0 1
  • http://docs.pythontab.com/python/python3.4/inputoutput.ht...
    喵在野閱讀 1,622評論 0 1
  • 叔伯家的狗被車撞了。原本以為不可能是那只。因為從莊子出來時看見它跟另外一家的小狗打鬧。 我怎么看都眼熟。說到黑狗,...
    老晁閱讀 212評論 0 1

友情鏈接更多精彩內容