十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
python在讀取文件的時(shí)候是根據(jù)光標(biāo)位置來讀取的。讀一行以后光標(biāo)位置到了下一行。再來個(gè)read又到了下一行。
堅(jiān)守“ 做人真誠 · 做事靠譜 · 口碑至上 · 高效敬業(yè) ”的價(jià)值觀,專業(yè)網(wǎng)站建設(shè)服務(wù)10余年為成都成都廣告設(shè)計(jì)小微創(chuàng)業(yè)公司專業(yè)提供成都定制網(wǎng)站營銷網(wǎng)站建設(shè)商城網(wǎng)站建設(shè)手機(jī)網(wǎng)站建設(shè)小程序網(wǎng)站建設(shè)網(wǎng)站改版,從內(nèi)容策劃、視覺設(shè)計(jì)、底層架構(gòu)、網(wǎng)頁布局、功能開發(fā)迭代于一體的高端網(wǎng)站建設(shè)服務(wù)。
想要重新從頭開始讀的話用f.seek(0)
將光標(biāo)位置放到最前面。這樣再f.read()就是第一行的內(nèi)容
還有個(gè)方法是f.tell()
告訴你當(dāng)前光標(biāo)的位置。你可以把文件都讀完了以后f.tell()一下看看光標(biāo)位置
然后再f.seek(0)
再f.tell()一下看看光標(biāo)位置
with open() as f跟你截圖用的差不多,只不過這種方式不用f.close(),會(huì)自動(dòng)關(guān)閉文件句柄。不過也可以手動(dòng)關(guān)閉文件句柄
Python有一個(gè)內(nèi)置的庫 matplotlib,它提供了圖形界面(GUI)的功能,允許用戶直接在圖形上點(diǎn)擊并獲取鼠標(biāo)位置。
下面是一個(gè)簡單的例子,展示了如何使用 matplotlib 庫獲取鼠標(biāo)點(diǎn)擊事件并返回三維坐標(biāo):
Copy code# 首先,導(dǎo)入 matplotlib 庫import matplotlib.pyplot as plt# 定義圖像窗口fig = plt.figure()# 獲取當(dāng)前坐標(biāo)系ax = fig.add_subplot(111, projection='3d')# 在圖像窗口中添加事件監(jiān)聽器,用于監(jiān)聽鼠標(biāo)點(diǎn)擊事件def onclick(event): # 獲取鼠標(biāo)點(diǎn)擊時(shí)的坐標(biāo)
x, y, z = event.xdata, event.ydata, event.zdata print('x={}, y={}, z={}'.format(x, y, z))# 將事件監(jiān)聽器綁定到當(dāng)前坐標(biāo)系cid = fig.canvas.mpl_connect('button_press_event', onclick)# 顯示圖像窗口plt.show()
如果你運(yùn)行上面的代碼,它會(huì)打開一個(gè)三維坐標(biāo)系的圖形窗口,當(dāng)你在圖形窗口中點(diǎn)擊時(shí),會(huì)在控制臺(tái)中輸出鼠標(biāo)點(diǎn)擊的三維坐標(biāo)。
注意:如果你沒有安裝 matplotlib 庫,可以使用 'pip install matplotlib
1 文件讀取全文本操作
在一定場景下我們需要把文本全部內(nèi)容讀取出來,進(jìn)行處理。python提供三種函數(shù)讀取文件,分別是read readline readlines,
read():讀取文件的全部內(nèi)容,加上參數(shù)可以指定讀取的字符。
readline():讀取文件的一行。
readlines():讀取文件的所有行到內(nèi)存中。
不同場景下我們可以選擇不同函數(shù)對文件進(jìn)行讀取。
1.1 方法一
file_name = input("請輸入你要打開的文件的完整路徑及名稱")
file= open(file_name, "r")
txt=file.read()
# 全文本的處理
file.close()
使用read函數(shù)將文件中的內(nèi)容全部讀取,放在字符串變量txt中。這樣操作適合于文本較小,處理簡單的情況,當(dāng)文件較大時(shí),這種方式處理時(shí)不合適的。一次性讀取較大的文件到內(nèi)存中,會(huì)耗費(fèi)較多的時(shí)間和資源。這時(shí)候分批處理效果更好。
1.2 方法二
file_name = input("請輸入你要打開的文件的完整路徑及名稱")
file= open(file_name, "r")
txt= file.read(4)
# 文本的處理while txt != ""txt= file.read(4)
# 批量文本處理
file.close()
這種方法適合于分批處理文本信息,每次批量讀入,批量處理,不會(huì)對內(nèi)存造成較大的壓力。
1.3 方法三
file_name = input("請輸入你要打開的文件的完整路徑及名稱")
file= open(file_name, "r")for line infile.readlines():
# 處理每一行數(shù)據(jù)
file.close()
這種處理方式適合處理以行為分割特點(diǎn)的文本,并且文本較小,因?yàn)檫@種處理方式需要一次性把文件所有內(nèi)容讀取到內(nèi)存中。
1.4 方法四
file_name = input("請輸入你要打開的文件的完整路徑及名稱")
file= open(file_name, "r") # 這里的file時(shí)文件句柄for line infile:
# 處理每一行數(shù)據(jù)
file.close()
這種方式和方法三中的區(qū)別是分行讀入,逐行處理,不會(huì)一次性把文件所有內(nèi)容都讀入到內(nèi)存中,對一些大文件的處理是很有效的。
2 文件寫入文本操作
文件寫入有兩種寫入函數(shù)和一種輔助支持。
write():向文件中寫入一個(gè)字符或者字節(jié)流
writelines():將一個(gè)元素全為字符串的列表寫入到文件中 需要注意的是,writelines寫入列表元素的時(shí)候會(huì)把列表元素的內(nèi)容拼接到一起寫入,不會(huì)有換行和空格 。
seek(): 輔助寫入函數(shù)offset偏移量參數(shù)代表含義如下
0 - 文件開頭
1 - 當(dāng)前位置
2 - 文件結(jié)尾
2.1 方法一
file_name = input("output.txt", "w+")
text= "hello world!"file_name.write(text)
file.close()
2.2 方法二
file_name = input("output.txt", "w+")
list= ["中午","早上","晚上"]
file_name.writelines(list)for line infile:
# 讀取寫入的數(shù)據(jù),這時(shí)候發(fā)現(xiàn)是沒有任何內(nèi)容的
file.close()
我們增加一行代碼就可以讀取到寫入的文件內(nèi)容,利用seek()函數(shù)調(diào)整寫操作指針的位置,可以實(shí)現(xiàn)寫操作之后的正常讀取。
file_name = input("output.txt", "w+")
list= ["中午","早上","晚上"]
file_name.readlines(list)
file_name.seek(0) # 調(diào)整寫的指針到文件的開始位置for line infile:
# 讀取寫入的數(shù)據(jù),這時(shí)候會(huì)讀出一行寫入的數(shù)據(jù)。
file.close()
1、準(zhǔn)備好Python腳本py文件,放置在一個(gè)文件夾下。
2、創(chuàng)建一個(gè)txt文件,并把文件類型(后綴)改為bat、編寫文件內(nèi)容。
3、Win鍵+R,輸入compmgmt,msc,調(diào)出計(jì)算機(jī)管理窗口。點(diǎn)擊左側(cè)任務(wù)計(jì)劃程序,再點(diǎn)擊右側(cè)創(chuàng)建基本任務(wù)。
4、填寫任務(wù)的基本信息,選擇腳本執(zhí)行的觸發(fā)器。
5、選擇具體時(shí)間,選擇執(zhí)行的操作、選擇要執(zhí)行的腳本,創(chuàng)建完成。