Python實現自定義資料的檔案寫入和讀取

2022-06-17 04:06:13 字數 2996 閱讀 4166

通常我們需要將處理的資料進行儲存和再次的讀取,從而讓程式工作能夠中途儲存,下次再載入這些資料繼續處理,又或者我們需要用高效能pc機生成一些控制指令,然後將指令檔案傳送給下位機去執行。

檔案一般由三部分組成,檔案頭(head),資料(data),檔案結尾(eof)(end of file)。

訪問檔案時一定要注意檔案路徑,當你的工作空間和目標檔案處於同一資料夾下時, 可以直接通過檔名訪問,如果和目標檔案處於不同資料夾,就需要加入路徑,否則就找不到目標檔案。

關於句尾符號,有兩種規定:

asa(american standards association)規定要用cr(\r)和lf(\n)兩種字元連續排列表示句尾:\r\n

iso(international organization for standardization) 規定用以上任意一種都行:\n (\r)

這裡再介紹下字元編碼,字元編碼是把計算機中的byte數字轉化為字元以,最常見的編碼形式有ascii和unicode,同時ascii智慧型儲存128個字元,而unicode最多可以儲存高達1,114,112個字元。

事實上檔案中的任何乙個數,乙個字母,乙個字,乙個標點符號都是以單個或多個字元的形式儲存在計算機記憶體中,如果知道這點,那麼在寫入檔案的時候就應該知道寫入的必須是字元變數,同時讀取檔案的時候讀取到的是乙個個字元組成的字串列表。

檔案讀取所需要用到的引數有:

方法一:

file_object = open(filename, mode = "r")//第乙個輸入引數是檔名,第二個輸入引數是讀寫形式,返回檔案物件

file_object.closed()        //用上法開啟時要注意用此行命令關閉程式

方法二:

with open(filename, mode = "r") as file_objext  //用了with..as..語句,跳出此命令時會自動關閉檔案

接下來是**展示:

寫入資料:

#this is the code used to create the commands.txt file

import numpy as np

#generate the points

pi = np.pi

r = 0.1

#devide into suitable levels

#actually the radius of the abs is 1 mm (0.0001 m)

levels = int(r/0.01) - 1 #take the 0.01 as a example

theta = np.linspace(0,2*pi,60) #generate the list form 0 to 2pi divided in 60

#this need modify according to the perimeter(周長)

points_tot_x =

points_tot_y =

#create a circle points

for l in range(1,levels+1):

points_ox = r*np.cos(theta) #create the x coordinate

points_oy = r*np.sin(theta) #createt the y coordinate

#here points is equal to 60

num_points = 60

#define the file name

filename = "commands.txt"

#open the file as a file object

with open(filename,'w') as f_obj:

#write the px and py parameters

#format is followed like tihs:

for n in range(0,num_points):

f_obj.write("px ")

f_obj.write("%.6f"%points_ox[n])      #set the format

f_obj.write(" py ")

f_obj.write("%.6f"%points_oy[n])      #set the format

f_obj.write("\n")

效果展示:

讀取資料:

#this is the code used to load the commands.txt file

#define the filename

filename = "commands.txt"

#open the file as a file object

with open(filename) as f_obj:

#read the file line by line

lines = f_obj.readlines()

#get the lines number and set a index

num_lines = len(lines)

points_ox =

points_oy =

for line in lines[0:num_lines]:

#try to write the code to settle the data

if line[3]=='0':

else:

print(points_ox)

print(points_oy)

效果展示:

create react app 自定義配置檔案

在工程中執行npm run eject刪除node modules資料夾的內容 重新安裝依賴,執行npm install 修改工程名 config webpack.config.js檔案 components 代表的是 工程名 src components 目錄 pages 代表的是 工程名 src...

一文搞定python的日誌自定義

在開發過程中,日誌是乙個避不開的話題,有的時候我們不需要控制台輸出過多的資訊,甚至不輸出,當然,我們可以在控制台設定日誌的等級來達到目的,但是,日誌的儲存,日誌格式的重寫,這些,就必須用python內建的logging模組來實現了。命名為logge.py,如下 import os import ti...

自定義Toast實現自定義Toast布局

平時我們使用toast的時候都是這樣的一種方法 toast toast toast.maketext context,duration 現在我們來自定義下toast的布局,首先看下toast建立時的源 public static toast maketext context context,char...