日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python文件输入符_python文件IO与file操作

發布時間:2023/12/10 python 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python文件输入符_python文件IO与file操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 標準輸入輸出IO

- (1) 打印到屏幕 print()

print(self, *args, sep=’ ‘, end=’n’, file=None):

把傳遞的表達式 轉換成一個 字符串表達式

known special case of print

"""

print(value, ..., sep=' ', end='n', file=sys.stdout, flush=False)

Prints the values to a stream, or to sys.stdout by default.

Optional keyword arguments:

file: a file-like object (stream); defaults to the current sys.stdout.

sep: string inserted between values, default a space.

end: string appended after the last value, default a newline.

flush: whether to forcibly flush the stream.

- (2) 讀取鍵盤的輸入 print()

input(*args, **kwargs):

從標準輸入讀取一個行,并返回一個字符串

Read a string from standard input

注意 python2 中

raw_input 與python3的input一樣

input可以接收一個Python表達式作為輸入,并將運算結果返回

str = input("請輸入表達式:");

[i for i in range(4)]

print "你輸入的內容是: ", str

[0,1,2,3]

2 數據文件的讀寫,打開和關閉文件

- (1) 創建file文件對象—open()方法

用Python內置的open()函數打開一個文件,創建一個file對象,然后使用相關的方法才可以調用它進行讀寫

f=open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True)

f--文件句柄對象

file:訪問的文件名稱。

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

encoding:指定編碼格式,gbk,utf8..。

buffering:如果buffering的值被設為0,就不會有寄存。如果buffering的值取1,訪問文件時會寄存行。如果將buffering的值設為大于1的整數,表明了這就是的寄存區的緩沖大小。如果取負值,寄存區的緩沖大小則為系統默認。

打開文件的不同方式:

模式描述

r以只讀方式打開文件。文件的指針將會放在文件的開頭。這是默認模式。

rb以二進制格式打開一個文件用于只讀。文件指針將會放在文件的開頭。這是默認模式。

r+打開一個文件用于讀寫。文件指針將會放在文件的開頭。

rb+以二進制格式打開一個文件用于讀寫。文件指針將會放在文件的開頭。

w打開一個文件只用于寫入。如果該文件已存在則將其覆蓋。如果該文件不存在,創建新文件。

wb以二進制格式打開一個文件只用于寫入。如果該文件已存在則將其覆蓋。如果該文件不存在,創建新文件。

w+打開一個文件用于讀寫。如果該文件已存在則將其覆蓋。如果該文件不存在,創建新文件。

wb+以二進制格式打開一個文件用于讀寫。如果該文件已存在則將其覆蓋。如果該文件不存在,創建新文件。

a打開一個文件用于追加。如果該文件已存在,文件指針將會放在文件的結尾。也就是說,新的內容將會被寫入到已有內容之后。如果該文件不存在,創建新文件進行寫入。

ab以二進制格式打開一個文件用于追加。如果該文件已存在,文件指針將會放在文件的結尾。也就是說,新的內容將會被寫入到已有內容之后。如果該文件不存在,創建新文件進行寫入。

a+打開一個文件用于讀寫。如果該文件已存在,文件指針將會放在文件的結尾。文件打開時會是追加模式。如果該文件不存在,創建新文件用于讀寫。

ab+以二進制格式打開一個文件用于追加。如果該文件已存在,文件指針將會放在文件的結尾。如果該文件不存在,創建新文件用于讀寫。

文件操作圖解:

模式

r

r+

w

w+

a

a+

+

+

+

+

+

+

+

+

+

創建

+

+

+

+

覆蓋

+

+

指針在開始

+

+

+

+

指針在結尾

+

+

- (2) file文件對象的屬性和方法

一個被打開的file文件,可以通過操作得到有關該文件的各種信息

屬性描述

file.closed返回true如果文件已被關閉,否則返回false。

file.mode返回被打開文件的訪問模式。

file.name返回文件的名稱。

f=open(r"filename","rb")

print(f.name) filename

print(f.closed) False

print(f.mode) rb

f.close()

print(f.name) filename

print(f.closed) True

print(f.mode) rb

close()方法

File 對象的 close()方法刷新緩沖區里任何還沒寫入的信息,并關閉該文件,這之后便不能再進行寫入

read()方法

按打開方式是 字節還是字符

read(self, size=-1)

按格式讀長度

file.read(2)

r--->2 字符

rb--->2 字節

seek()方法

后面是字節,指定指針位置

seek(self, *args, **kwargs)

file.seek(2)----字節數----gbk--2個字節一個漢字

file.seek(3)----字節數----utf-8--3個字節一個漢字

file.tell()

查看當前指針位置

seek(self, *args, **kwargs)

position = fo.tell();

print("當前文件位置 : ", position)

file.writable()

True if file was opened in a write mode.

file.readable()

True if file was opened in a read mode.

file.flush()

從內存強刷到硬盤

一般文件操作沒有完成到硬盤上的時候,數據不會存在

file.readline()

讀一行

readline() --------- 每行

for line in file:

print(line.read()) ========>>>>> # python 2 xreadlines()

file.readlines()

返回一個列表

file.truncate()

截取 指針位置前面的數據

- (3) 上下文管理 with open(..) as f:

with open(r'filename',mode='rb') as file:

file.read()

例子

讀寫操作 字節,字符打開

1

path=r'filename'

file=open(path,encoding='utf-8',mode='r')

a=file.read()

print(a)

file.close()

2

path=r'filename'

file=open(path,'rb')

a=file.read().decode('gbk')

print(a)

file.close()

3

path=r'filename'

file=open(path,mode='w',encoding='utf-8')

file.write('adasdad')

file.close()

4

path=r'filename'

file=open(path,'wb')

file.write('哈哈哈'.encode('utf-8'))

file.close()

- (4) 文件的修改與重命名

文件修改,重命名需要借助 os模塊的 remove()和rename()

原文件,讀取內容 — 修改 — 重新新建一個文件,接收 — 刪除原文件

os模塊提供執行文件處理操作的方法,比如重命名和刪除文件

rename(current_file_name, new_file_name)

remove(file_name)

例子

file2=open(r'f2','w',encoding='utf-8')

with open(r'f1','r',encoding='utf-8') as file1:

for line in file1:

mylist=line.split('|')

mylist[0]=mylist[0][0:2]

mystr='|'.join(mylist)

file2.write(mystr)

file2.close()

import os

os.remove(r'f1')

os.rename(r'f1',r'f2')

3 目錄操作方法 os模塊

mkdir()方法

當前目錄下創建一個新目錄

import os

# 創建目錄test

os.mkdir("test")

chdir()方法

切換目錄

import os

os.mkdir("d:test")

getcwd()方法

顯示當前的工作目錄

import os

print(os.getcwd())

rmdir()方法

刪除目錄,刪除之前,它的所有內容應該先被清除

import os

os.rmdir("d:text")

4 常見的文件目錄操作方法 附錄:

OS 對象方法:

提供了處理文件及目錄的一系列方法

序號方法及描述

8

9

10

11

12

13

14

16

17

18

19

20

22

23

24

26

27

28

29

30

31

32

33

34

35

36

37os.mknod(filename[, mode=0600, device])

創建一個名為filename文件系統節點(文件,設備特別文件或者命名pipe)。

38

39

41

43

45

47

48

49

50

52

54

55

57

58

59

61

63

file句柄 對象方法:

序號方法及描述

1關閉文件。關閉后文件不能再進行讀寫操作。

2刷新文件內部緩沖,直接把內部緩沖區的數據立刻寫入文件, 而不是被動的等待輸出緩沖區寫入。

3返回一個整型的文件描述符(file descriptor FD 整型), 可以用在如os模塊的read方法等一些底層操作上。

4如果文件連接到一個終端設備返回 True,否則返回 False。

6從文件讀取指定的字節數,如果未給定或為負則讀取所有。

8讀取所有行并返回列表,若給定sizeint>0,則是設置一次讀多少字節,這是為了減輕讀取壓力。

10

11截取文件,截取的字節通過size指定,默認為當前文件位置。

12將字符串寫入文件,沒有返回值。

13向文件寫入一個序列字符串列表,如果需要換行則要自己加入每行的換行符。

總結

以上是生活随笔為你收集整理的python文件输入符_python文件IO与file操作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。