通常我們需要將處理的資料進行儲存和再次的讀取,從而讓程式工作能夠中途儲存,下次再載入這些資料繼續處理,又或者我們需要用高效能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...