Python 文件的輸入與輸出

?

?

1. 文本文件的讀寫主要通過open()所構建的文件對象來實現。我們打開一個文件,并使用一個對象來表示該文件 , f = open(d,r) 其中d是文件名,r是模式

  "r" 文件只讀,使用 f.write()會報錯

  "w" 用于寫入,每次使用f.write()都會把上一次給覆蓋掉

  "r+" 用于讀寫
  "a" 文件追叫,每次寫入會追加在前一次后面

##1. 創建文件對象(%%在編代碼的文件夾下建一個new.txt)
f=open("new.txt","r+")
##2. write()寫文件,,可以用w,r+,a模式,其中w,和r+是覆蓋,a是追加文件在后面
for i in range(10):f.write("Hello World\n")
f.close()     #如果不用f.close(),new.txt文件將什么內容都沒有
print(f.closed)
##3. 文件的讀取
f=open("new.txt","r+") # 因為f.close()掉了,所以要重新創建一個文件對象
content1=f.read(20)    # 讀取20 bytes的數據
content2=f.readline()  # 讀取一行
content3=f.readlines() # 讀取所有行
print("content1 is {0},content2 is {1},content3 is {2}".format(content1,content2,content3))
f.close()
##4. 上下文管理器(context manager)
##上下文管理器(context manager)是Python2.5開始支持的一種語法,用于規定某個對象的使用范圍。
##打開文件,讀寫,關閉文件。程序員經常會忘記關閉文件。上下文管理器可以在不需要文件的時候,自動關閉文件。
file_name="E://PythonCode//source//record.txt"
with open(file_name,"r+") as f:print(f.closed)    #False  表示還沒關for i in range(10):f.write("Hello World\n")
print(f.closed)          #沒有用f.close()但是已經自動關了

?

2. 文本的輸出方式有很多,在這里簡單介紹一下print()函數

#print的format方法
for x in range(1, 11):#{0:1d} 0表示第一個參數 即x, 1d表示前面空幾個空格,print('{0:1d} {1:2d} {2:3d}'.format(x, x*x, x*x*x))
#用字符串的rjust()方法
for x in range(1, 11):print(repr(x).ljust(2), repr(x*x).ljust(3),end=' ')print(repr(x*x*x).rjust(4))#zfill()方法
for x in range(1,11):print(str(x).zfill(4),str(x*x).zfill(4),str(x*x*x).zfill(4))

?

?

?

?

?

轉載于:https://www.cnblogs.com/qianwen/p/3719618.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/375896.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/375896.shtml
英文地址,請注明出處:http://en.pswp.cn/news/375896.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

查詢表的內容

1:as給表另外命名 2:desc倒序 3:order by分組 4:select*form表名where條件轉載于:https://www.cnblogs.com/chen1101465910/p/3719944.html

人之為生也,凡不破者亦難立之。縱所思之,生而順之者,亦難成也。然吾之路也,亦難行之,至此二十有余,雖無半百之所歷,亦無順途,每及思之,慨之多也。 偶有所感,念…

Delphi 一些函數解釋

AdjustWindowRect 給定一種窗口樣式,計算獲得目標客戶區矩形所需的窗口大小 AnyPopup 判斷屏幕上是否存在任何彈出式窗口 ArrangeIconicWindows 排列一個父窗口的最小化子窗口 AttachThreadInput 連接線程輸入函數 BeginDeferWindowPos 啟動構建一系列新窗口位置的過…

盒子模型的總結

轉載于:https://www.cnblogs.com/zy2012/p/3725677.html

ubuntu node.js Binaries方式安裝(二進制文件安裝)

node.js在windows下有安裝文件,直接一路下一步就可以了,但大家都知道在windows下用node.js總會遇到一些問題,所以就會用到linux。 看到網上幾乎是在linux下編譯安裝node.js。感覺很奇怪,其實官網直接有 node.js linux binaries文…

maven generating project in batch mode hang

現象: 執行 archetype:generate 的時候,會產生[INFO] Generating project in Batch mode原因是:網速問題, 解決方法: 設置maven不要從遠程服務器上獲取catalog,增加參數-DarchetypeCataloginternal 如何在i…

android手機生成pdf格式文件,Android根據pdf模板生成pdf文件

1 public voidFillPdfTemplate(String id) {2 android.icu.text.SimpleDateFormat simpleDateFormat 3 new android.icu.text.SimpleDateFormat("HHmmss");//HH:mm:ss4 //設置默認時區5 simpleDateFormat.setTimeZone(android.icu.util.TimeZone.getTimeZone("G…

棧的應用--數制轉換

十進制N和其他d進制 N(N div d)XdN mod d (其中:div為整除運算,mod為求余運算) void conversion(){SqStack S;int N;SElemType e;Init_Stack(S);scanf("%d",&N);while(N){Push(S,N%8);NN/8;}while(!Stack_Empty(S…

radio按鈕點擊文字選中按鈕

<input type"radio" name"name" id"rd" value" " /><label for"rd">測試</label> 轉載于:https://www.cnblogs.com/kevin1988/p/3727041.html

tokumx經營報表

#見數據庫列表 show dbs#切換/創建數據庫(當創建一個集合(table)的時候會自己主動創建當前數據庫)use admin;#添加用戶 db.addUser("zhoulf ","123456",true)#更改password&#xff08;為已經存在的用戶更改password&#xff09; db.addUser("zhoulf …

微博 Android 啟動廣告,使用Xposed去除微博國際版的啟動廣告

本文同步更新于旺仔的個人博客&#xff0c;訪問可能有點慢&#xff0c;多刷新幾次。前面有篇文章已經介紹了如何創建Xposed模塊的文章了&#xff0c;這篇就讓我們來實現一個簡單的去除啟動廣告的功能吧。起因為什么要是要去掉微博國際版的開屏廣告呢&#xff0c;因為廣告煩人啊…

鴿巢原理

鴿巢原理&#xff1a; n1個鴿子放入n個窩中&#xff0c;至少有一個窩含有兩只鴿子 Find a multipleTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 5590 Accepted: 2434 Special JudgeDescription The input contains N natural (i.e. positive integer) numbers…

linux命令:vim文件操作命令、新建用戶,查看用戶列表,chown命令

命令 簡單說明 :w 保存編輯后的文件內容&#xff0c;但不退出vim編輯器。這個命令的作用是把內存緩沖區中的數據寫到啟動vim時指定的文件中。 :w! 強制寫文件&#xff0c;即強制覆蓋原有文件。如果原有文件的訪問權限不允許寫入文件&#xff0c;例如&#xff0c;原有的文件…

cocos2d-x android 環境搭配,cocos2d-x?Android環境配置問題和解決方法

1.前提&#xff1a;下載安裝Cygwin,并已經在cygwin\home\admin(計算機用戶名)下的.bash_profile中完成如下配置&#xff1a;NDK_ROOT /cygdrive/d/cocos2dxdev/andrid-ndk-r8e//NDK安裝位置export NDK_ROOT問題&#xff1a;運行cygwin.exe.錄入如下的第一行數據后&#xff0c;沒…

jQuery 1.9 移除了 $.browser 的替代方法

授權方式&#xff1a;署名&#xff0c;非商業用途&#xff0c;保持一致&#xff0c;轉載時請務必以超鏈接(http://www.fwolf.com/blog/post/35)的形式標明文章原始出處和作者信息及本聲明。 jQuery 從 1.9 版開始&#xff0c;移除了 $.browser 和 $.browser.version &#xff0…

基于QTcpSocket和QTcpServer的Tcp通訊以及QDataStream序列化數據

最近要在QT下開發Tcp通訊&#xff0c;發送序列化數據以便于接收。 這里涉及到幾個問題&#xff1a; 1.QTcpSocket、QTcpServer的通訊 2.QDataStream序列化數據 多的不說&#xff0c;直接上干貨&#xff01;&#xff01;&#xff01; 客戶端&#xff1a; tcpclient.h 1 #ifndef …

android mina分析,Android與Mina整合

最近想在自己做的安卓手機應用中加入即時聊天功能&#xff0c;于是想到了用Mina來實現&#xff0c;也是由于自己想著偷懶&#xff0c;借用了官方的example中chat的相關代碼&#xff0c;經過一番改造&#xff0c;很快就能在java環境中正常運行了。確認沒問題后&#xff0c;將cli…

棧的應用--括號匹配的檢驗

算法中設置一個棧&#xff0c;每次讀入一個括號&#xff0c;若是右括號&#xff0c;則或者與置于棧頂的括號匹配&#xff0c;或者是不合法的情況&#xff0c;若是左括號&#xff0c;則入棧。若算法結束&#xff0c;棧是空的&#xff0c;則括號合法。 括號匹配函數 Status bra…

node.js 初體驗

node.js 初體驗 2011-10-31 22:56 by 聶微東, 174545 閱讀, 118 評論, 收藏, 編輯 PS: ~ 此篇文章的進階內容在為《Nodejs初階之express》 ~ 2014/09/24 更新《Express 4.X 啟航指南》 歡迎閱讀和評論:) 最近寫的文章收到許多朋友的反饋&#xff0c;感謝大家的支持和建議&#…

Qt之模型/視圖(實時更新數據)

上兩節簡單介紹了Qt中對于模型/視圖的編程&#xff0c;大部分助手里說的很清楚了&#xff0c;現在就開始實戰部分吧&#xff01; 在實際應用中&#xff0c;視圖展示的數據往往并非一成不變的&#xff0c;那么如何實時更新成了一個很重要的問題&#xff01;功能&#xff1a;&am…