python學習筆記(五)——輸入和輸出
阿新 • • 發佈:2019-02-05
第六章 輸入和輸出
#第六章 輸入和輸出 #6.1 輸入和輸出概述 #實現互動功能的方式:a命令列引數 b標準輸入和輸出函式 c檔案輸入和輸出 d圖形化使用者介面 #6.2 命令列引數 #6.2.1 sys.argv與命令列引數 # import sys,random # n=int(sys.argv[1]) # for i in range(n): # print(random.randrange(0,100)) #6.2.2 argparse模組與命令列引數 # import argparse # parser = argparse.ArgumentParser() # parser.add_argument('--length',default=10,type=int,help='長度') # parser.add_argument('--width',default=5,type=int,help='寬度') # args=parser.parse_args() # area=args.length*args.width # print('面積=',area) #6.3 標準輸入和標準輸出函式 #6.3.1 輸入和輸出函式 # print(1,2,3)#採用空格作為分隔符 # print(1,2,3,sep=',',end='.\n')#採用逗號分隔,以點結束並換行 # for i in range(5): # print(i,end=' ')#輸出時使用空格代替換行符 # import datetime # sName =input("請輸入您的姓名:") # birthyear=int(input("請輸入您的出生年份:")) # age=datetime.date.today().year-birthyear # print("您好!{0}.您{1}歲".format(sName,age)) #6.3.2 互動式使用者輸入 #6.3.3 執行時提示輸入密碼 # import getpass # username =input("使用者名稱:") # passwd = getpass.getpass("密碼:")#getpass在pycharm裡無效,可以用python自帶的ide # if username=='jianghong' and passwd=='password': # print('登入成功') # else: # print('登入失敗') #6.4 檔案和檔案物件 #6.4.1 檔案物件和open函式 # try: #open函式放在try塊中無法執行 # f = open(r'D:\1.txt','rt') # except: # print(1) # finally: # f.close() # f=open(r'D:\a.txt','w') #檔案位置前邊要加一個r # f.print(f.read()) # f.write('sss') # f.close() #6.4.2 檔案的開啟、寫入、讀取和關閉 #import sys #filename =sys.argv[0] # f=open(r'D:\a.txt','r',encoding='utf8') # line_no=0 # while True: # line_no+=1 # line =f.readline() # if line: # print(line_no,":",line) #顯示行號和該行內容 # else: # break # f.close() #6.4.3 with語句和上下文管理協議 # import sys # filename=sys.argv[0] # line_no=0 #可以實現與上一程式碼相同的作用 # with open(r'D:\a.txt','r',encoding='utf8') as f: # for line in f: # line_no+=1 # print(line_no,":",line) # f.close() #6.5 標準輸入輸出和錯誤流 # import sys #標準輸入流是緩衝的,標準輸出流和錯誤輸出流是非緩衝的 # print(sys.stdin) # print(sys.stdout) # print(sys.stderr) #6.5.2 讀取任意長度的輸入流 # import sys #計算輸入流中資料的平均值()下列程式用cmd可以執行,在pycharm無法執行 # total=0.0 # count=0 # for line in sys.stdin: # count+=1 # total +=float(line) # avg=total/count # print("平均值:",avg) #6.5.3 標準輸入輸出和錯誤流重定向 # import sys #在pycharm中無法執行,需要cmd # n=int(sys.argv[1]) # power=1 # i=0 # f=open('out.log','w') # sys.stdin=f # while i<=n: # print(str(i),' ',str(power)) # power=2*power # i=i+1 # sys.stdout=sys.__stdout__ # print('done!') #6.6 重定向和管道 #重定向標準輸出到一個檔案 程式>輸出檔案 #重定向檔案到標準輸入 程式<輸入檔案 #管道 程式1|程式2 程式1 的標準輸出作為程式2 的標準輸入
下圖為命令列引數執行的結果