1. 程式人生 > >python學習筆記(五)——輸入和輸出

python學習筆記(五)——輸入和輸出

第六章 輸入和輸出

#第六章 輸入和輸出

#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 的標準輸入

下圖為命令列引數執行的結果