Python基礎(6)檔案和I O流

2021-08-20 10:26:01 字數 2043 閱讀 2977

#coding=gbk

#文字檔案

with open(r'c:\users\administrator\desktop\mysal\python\data.txt','r') as f:#with語句自動關閉檔案流

for s in f.readlines():#readlines()讀入多行內容

print(s,end="")

with open(r'c:\users\administrator\desktop\mysal\python\data.txt','a') as f:#a為增加內容,w為先刪除原內容,再增加內容

f.write('\nhaha_number2')

#二進位制檔案

with open(r'c:\users\administrator\desktop\mysal\python\data1.dat','ab') as f:

f.write(b'\nthis,world')#寫入位元組接資料

print('-----------華麗的分割線---------')

with open(r'c:\users\administrator\desktop\mysal\python\data1.dat','rb') as f:

a=f.read();

print(a)

#讀取csv格式的檔案

import csv

filename='c:/users/administrator/desktop/mysal/python/data.csv' #由於\存在轉義符號的歧義,建議使用「/」符號

with open(filename) as f:

reader = csv.reader(f)

print(list(reader))

import csv

filename='c:/users/administrator/desktop/mysal/python/data.csv'

with open(filename) as f:

reader=csv.reader(f)

header_row=next(reader)#不讀取第一行的屬性

for row in reader:

print(reader.line_num,row)#從第二行開始讀取

# 輸出為 2 ['bob', '15', 'male']

# 3 ['smith', '27', 'female']

# 4 ['junge', '23', 'male']

# 5 ['liudehua', '45', 'male']

#在csv中寫入資料

datas=[['zhangsan','34','female'],['wnagwu','36','male']]

import csv

filename='c:/users/administrator/desktop/mysal/python/data.csv'

with open(filename,'a',newline='') as f: #a表示在元檔案中增加datas

reader=csv.writer(f)

for row in datas:

reader.writerow(row) #以當行寫入

#還可以以多行寫入 reader.writerows(datas)

#物件序列化,程式執行時物件建立在記憶體中,如果需要持久地儲存在磁碟中,

#或需要通過網路傳遞給其他機器,則需要通過物件序列化機制

#物件序列化

import pickle #應用模組

with open(r'c:/users/administrator/desktop/mysal/python/demo.dat','ab') as f:

s1='hello world'

c1=1+1j

d1=dict(name='hale',age=14)

pickle.dump(s1,f)

pickle.dump(c1,f)

pickle.dump(d1,f)

Linux基礎 6 檔案IO操作

linux下一切皆檔案,所以檔案io是很重要的也是很基礎的操作。關於linux檔案io的操作主要有五個方面,分別是開啟,關閉,建立,寫與讀。我們先來看一下開啟檔案open函式 int open const char path,int oflags,mode t mode 引數path表示 路徑名或者...

python3 檔案的IO流

廣義上說檔案是按照檔案的型別進行分類 狹義上的檔案是按照組成檔案的資料格式分類 文字檔案 二進位制檔案 二進位制檔案和文字檔案不同,不需要 encoding 編碼 內容 檔案的複製 import os,time 檔案複製函式 defcopy file1,file2 讀取被複製檔案1 with ope...

059檔案和流

在 net framework中進行的所有輸入和輸出操作都要用到流。流是序列化裝置的抽象表示。因為序列化裝置可以以線性方式儲存資料 一次訪問乙個位元組 並可以以同樣的方式訪問。序列化裝置可以是磁碟檔案,網路通道,記憶體位置或其他支援以線性方式讀寫的物件。將序列化裝置抽象為流,可以隱藏裝置之間的差異,...