<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
本文以.txt檔案為例,說明Python從.txt檔案中讀取內容和向.txt檔案寫入內容的方法。
a.txt檔案內容:
犬吠水聲中,桃花帶雨濃。
樹深時見鹿,溪午不聞鍾。
野竹分青靄,飛泉掛碧峰。
無人知所去,愁倚兩三鬆。
讀取檔案:
open(filename, mode)
open返回一個檔案物件。
第一個引數是一個包含檔名的字串。
第二個引數是描述檔案的使用模式,mode='r’表示唯讀,mode='w’表示只寫,mode=‘r+’表示可讀可寫,mode=‘a’表示開啟檔案並把要寫的內容附在檔案末尾,不會刪除檔案已有內容。
預設模式為’r’。
poem = open('./a.txt', 'r') print(poem) # 輸出 # <_io.TextIOWrapper name='./a.txt' mode='r' encoding='UTF-8'>
poem = open('./a.txt', 'r') print(list(poem)) # 輸出 # ['犬吠水聲中,桃花帶雨濃。n', '樹深時見鹿,溪午不聞鍾。n', '野竹分青靄,飛泉掛碧峰。n', '無人知所去,愁倚兩三鬆。n']
通常我們使用with關鍵字來讀取檔案物件,with關鍵字可以在with語句結束後自動關閉檔案,避免一直佔用計算機記憶體資源。
with open('./a.txt', 'r') as f: d = f.read() print(d) print(f.closed) # 輸出 # 犬吠水聲中,桃花帶雨濃。 # 樹深時見鹿,溪午不聞鍾。 # 野竹分青靄,飛泉掛碧峰。 # 無人知所去,愁倚兩三鬆。 # True
除了讀取檔案中的所有內容,我們還可以一行一行的讀取檔案。
with open('./a.txt') as f: for line in f: print(line) # 輸出 # 犬吠水聲中,桃花帶雨濃。 # 樹深時見鹿,溪午不聞鍾。 # 野竹分青靄,飛泉掛碧峰。 # 無人知所去,愁倚兩三鬆。
因為在每一行末尾處都帶有換行符,因此每行之間都有一行為空。可以驗證一下:
with open('./a.txt') as f: d = f.readlines() print(d) # 輸出 # ['犬吠水聲中,桃花帶雨濃。n', '樹深時見鹿,溪午不聞鍾。n', '野竹分青靄,飛泉掛碧峰。n', '無人知所去,愁倚兩三鬆。n']
我們可以通過str.strip([chars])函數來刪除字串末尾的換行符。
strip()函數可以刪除字串首尾的指定字元或者字串,引數chars指定了要刪除的字元的集合。
如果沒有指定,則預設為空格或者換行符。
但是strip()只能刪除開頭或者結尾的字元或字串,不能刪除中間部分的字元。
with open('./a.txt') as f: for line in f: print(line.strip()) # 輸出 # 犬吠水聲中,桃花帶雨濃。 # 樹深時見鹿,溪午不聞鍾。 # 野竹分青靄,飛泉掛碧峰。 # 無人知所去,愁倚兩三鬆。
因為字串是不可變物件,因此,strip()函數並不是在原來的字串中直接進行刪除,而是將刪除首尾字元后的字串作為一個新物件並返回。
可以驗證一下:
a = ' special ' # 建立一個字串物件並將變數a指向它 print(id(a)) # 列印a在記憶體中的地址 a = a.strip() # 將刪除首尾空格後的字串作為一個新物件,並將a指向它 print(id(a)) # 打a串在記憶體中的地址 # 輸出 # 140251513494960 # 140251513470680
可得看到,刪除前後的字串地址並不相同,說明它們是不同的物件。
with open('./a.txt', 'a') as f: f.write('作者:李白n') with open('./a.txt', 'r') as f: for line in f: print(line.strip()) # 輸出 # 犬吠水聲中,桃花帶雨濃。 # 樹深時見鹿,溪午不聞鍾。 # 野竹分青靄,飛泉掛碧峰。 # 無人知所去,愁倚兩三鬆。 # 作者:李白
Python 是一門易於學習、功能強大的程式語言。它提供了高效的高階資料結構,還能簡單有效地物件導向程式設計。Python 優雅的語法和動態型別以及直譯語言的本質,使它成為多數平臺上寫指令碼和快速開發應用的理想語言。下面我們來介紹一下python的輸入輸出用法並舉幾個案例深入學習一下。
1、輸出
print 預設輸出是換行的,如果要實現不換行需要在變數末尾加上 end=“”
例:使用print()函數輸出資料。
print("這是一個輸出範例") # print()函數使用雙引號輸出範例 url = 'www.xxx.com' # 建立變數url,賦值為'www.xxx.com' print('我們的網址是', url) # print()函數使用單引號輸出變數url
執行結果如下。
2、輸入
Python提供了input()函數用於獲取使用者鍵盤輸入的字元。
input()函數讓程式暫停執行,等待使用者輸入資料,當獲取使用者輸入後,Python將其以字串的形式儲存在一個變數中,方便後面使用。
例:使用input()函數實現輸入。
password = input("請輸入密碼:") # 輸入資料賦給變數password print('您剛剛輸入的密碼是:', password) # 輸出資料
執行結果如下。
例1:求兩數之和
編寫程式,要求輸入兩個整數,求兩數之和後輸出。
(1)可使用int()函數將輸入的字串轉化為整型資料。
(2)可使用float()函數將字串轉化為浮點型資料。
a = input("請輸入第一個整數:") # 輸入變數a的值 b = input("請輸入第二個整數:") # 輸入變數b的值 a = int(a) # 將變數a轉換為整型數 b = int(b) # 將變數b轉換為整型數 c = a + b # 兩數相加賦給c print("兩數之和為:", c) # 輸出c的值
執行結果如下。
例2:求三角形的面積
編寫程式,要求輸入三角形的三條邊(假設給定的三條邊符合構成三角形的條件:任意兩邊之和大於第三邊),計算三角形的面積並輸出。
import math # 匯入math模組 a = int(input("請輸入三角形的第一條邊:")) # 輸入第一條邊並將其轉換為整型 b = int(input("請輸入三角形的第二條邊:")) # 輸入第二條邊並將其轉換為整型 c = int(input("請輸入三角形的第三條邊:")) # 輸入第三條邊並將其轉換為整型 s = 1 / 2 * (a + b + c) # 計算s area = math.sqrt(s * (s - a) * (s - b) * (s - c)) # 呼叫sqrt函數計算面積 print("此三角形面積為:", area) # 輸出三角形面積
執行結果如下。
以上為個人經驗,希望能給大家一個參考,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45