Python3輸入輸出

Python兩種輸出值的方式,表達式語句和print()函數。

第三種方式是使用文件對象的write()方法,標準輸出文件可以用sys.stdout的引用。

如果你希望輸出的形式更加多樣,可以使用str.fomat()函數來格式化輸出值。

如果你希望將輸出的值轉化成字符串,可以使用repr()和str()函數來實現。

str():函數返回一個用戶易讀的表達式

repr():產生一個解釋器易讀的表達形式。

?

?

?

這里有兩種方式輸出一個平方和立方的表:

?

?

?

?

?

?

注意:在第一個例子種,每個列間的空格由print添加。

這個例子展示了字符串對象的rjust()方法,它可以將字符串靠右,并在左邊填充空格。

還有類似的方法,如ljust()和center()。這些方法并不會寫任何東西,他們僅僅返回新的字符串。

還有一個zfill(),它會在數字的左邊填充0,如下所示:

str.format()的基本用法如下:

?

print(’{}網址: “{}!“’.format(‘菜鳥教程’,‘www.runoob.com’))

菜鳥教程網址:”www.runoob.com”

括號及其里面的字符(俗稱格式化字符)將會被format()中的參數替換。

在括號中的數字用于指向傳入對象在format()中的位置

?

?

?

如果format()中使用了關鍵字參數,那么他們的值會指向使用該名字的參數。

?

?

?

位置和關鍵字參數可以任意結合:

?

?

?

!a(使用ascii()),!s(使用str())和!r(使用repr())可以用于格式化某個值之前對其進行轉化:

?

?

?

可選項: 和格式標識符可以跟著字段名。這允許對值進行更好的格式化。

?

?

在 : 后傳入一個整數,可以保證該域至少有這么多寬度。用于美化表格時很有用:

?

?

舊式字符串格式化:

%操作符也可以實現字符串格式化它將左邊參數作為類是sprintf()式的格式化字符串,而將右邊的代入,然后返回格式化后的字符串。

?

?

因為str.format()比較新的緣故,大多數python仍然使用%操作符,但是因為這種舊時的格式化最總會從該語言中移除,應該更多的使用str.format()

?

讀取鍵盤輸入

python提供了input()內置函數從標準輸入讀入一行文本,默認的標準輸入是鍵盤。

input可以接受一個Python表達式作為輸入,然后從運算結果返回。

?

?

讀和寫文件

open()將會返回一個file文件,基本語法格式如下:

open(filename,mode)

filename:包含了你要訪問的文件名的字符串值。

mode:決定了打開文件的模式:只讀,寫入,追加等。

?

不同模式打開文件的文件完全列表:

模式

描述

r

以只讀方式打開文件。文件的指針將會放在文件的開頭,這是默認模式

rb

以二進制格式打開一個文件用于只讀,文件指針將會放在文件的開頭

r+

打開一個文件用于讀寫。文件指針將會放在文件的開頭

rb+

以二進制格式打開一個文件用于讀寫,文件指針將會放在文件的開頭

w

打開一個文件只用于寫入如果該文件

wb

以二進制格式打開一個文件用于讀寫,如果該文件已存在則打開文件,并且從頭開始編輯,即原有內容會被刪除,如果該文件不存在則創建新文件。

a

打開一個文件用于追加,如果該文件已存在,文件指針將會放在文件的結尾。也就是說新的內容會被寫入到已有內容之后。如果該文件不存在,創建新文件進行寫入。

ab

以二進制格式打開一個文件用于追加如果該文件已存在,文件指針將會放在文件的結尾。也就是說新的內容將會被寫入到已有內容之后如果該文件不存在,創建新文件進行讀寫。

a+

打開一個文件用于讀寫如果該文件已存在,文件指針將會放在文件的結尾。文件打開時會是追加模式,如果該文件不存在,創建新文件用于讀寫。

ab+

以為禁止格式打開一個文件用于追加,如果該文件已存在。如果文件已存在,文件指針會放在文件結尾,如果該文件不存在,創建新文件用于讀寫。

?

?

模式

r

r+

w

w+

a

a+

+

+

?

+

?

+

?

+

+

+

+

+

創建

?

?

+

+

+

+

覆蓋

?

?

+

+

?

?

指針在開始

+

?

+

+

?

?

指針在結尾

?

+

?

?

+

+

以下實例將字符串傳入到foo.txt

?

?

?

文件對象的方法

f.read()

為了讀取一個文件的內容,調用f.read(size),這將讀取一定數目的數據,然后作為字符串或者字節對象返回。

size是一個可選的數字類型的參數。當size被忽略了或為負時,那么該文件的所有內容都將被讀取并且返回。

?

?

f.readline()

該函數會從一個文件中讀取單獨的一行換行符為’\n’。f.readline()如果返回一個空字符串,說明已經讀取到最后一行。

?

?

f.readlines():

該函數會返回文件所包含的所有行。

如果參數可選參數sizehint,則讀取指定長度的字節,并且將這些字節按行分隔。

?

?

另一種方式迭代一個文件對象然后讀取每行。

?

?

這個方法雖然很簡單,但是沒有提供一個很好的控制,因為兩者的處理機制不同

?

f.write()

f.write(string)將string寫入到文件中,然后返回寫入的字符數。

?

?

如果要寫入的東西不是字符串的話,那么需要先將其轉換成字符串。

?

?

f.tell()

該函數返回文件對象當前所處的位置,它是從文件開頭開始算起的字節數

?

f.seek()

如果要該改變文件當前的位置,可以使用f.seek(offset,from_what)函數。

from_what的值,如果是0表示開頭,如果是1表示當前位置,2表示文件的結尾。

seek(x,0):從起始位置即文件首行首字符開始移動x個字符。

seek(x,1):表示從當前位置往后移動x個字符。

seek(-x,2):表示從文件的結尾往前移動x個字符。

?

from_what值為默認為0,即文件開頭

?

?

f.close()

在文本文件中(那些打開文件的模式下沒有b的),只會想相對于文件起始位置進行定位。

當你處理完一個文件后,調用f.close()來關閉文件并釋放系統資源,如果嘗試再調用該文件,則會拋出異常。

當處理一個文件對象時,使用with關鍵字也是非常好的方法。在結束時他會幫助你正確的關閉文件,并且寫起來也要比try-finally語句塊要簡短。

?

?

格式化輸出:

1.整數的輸出

?

?

分別輸出八進制十進制和十六進制。

2.浮點數輸出

%f保留小數點后面六位有效數字float

%e保留小數點后六位有效數字

%g在保證六位有效數字前提下,使用小數方法,否則就使用科學記數法

?

?

1)默認保留6位小數

2)娶一位小數1.1

3)默認六位小數,用科學記數法

4)去三位小數,用科學記數法

5)默認六位有效數字

6)取七位有效數字

7)取2位有效數字

?

3.字符串輸出

%s字符串輸出string

%10s 占位符10位

%-10s 左對齊占位符10位

%.2s 截取2位字符串

%10.2s 10位占位符,截取兩位字符串

?

?

1) 字符串輸出hello world

2) 右對齊,取20位,不夠則補位

3) 左對齊,取20位,不夠則部位

4) 取兩位he

5) 右對齊取兩位

6) 左對齊取兩位

轉載于:https://www.cnblogs.com/wanghao-boke/p/11510431.html

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

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

相關文章

動態庫加載順序

1.編譯目標代碼時指定的動態庫搜索路徑; 2.環境變量LD_LIBRARY_PATH指定的動態庫搜索路徑; 3.配置文件/etc/ld.so.conf中指定的動態庫搜索路徑; 4.默認的動態庫搜索路徑/lib; 5.默認的動態庫搜索路徑/usr/lib。 轉載于:https://ww…

Python3正則表達式

正則表達式是一個特殊的字符序列,他能幫助你方便的檢查一個字符串是否與某種模式匹配。re.match函數 re.match嘗試從字符串的起始位置匹配一個模式,如果不是起始位置匹配成功的話,match()就返回一個none。 函數語法: re.match(pat…

C/C++輸入

fgets(str,n,stdin) 從鍵盤輸入一行,替代gets()。讀取到n-1字節時或換行符時終止,如果是文件的話,讀到文件結尾也會停止 getline(cin,str) str的類型必須是string類,它是C特定的字符串類,區別于C的char *數據類型。 ci…

strlen和sizeof的區別

C語言中沒有字符串,用的是字符數組來模擬字符串。 C風格的字符串時字符數組然后在末尾加0表示結尾。 在C語言中有strlen和sizeof兩個函數求字符數組的長度函數,他們倆的區別就是是否把最后的結束標志也加上去。 strlen是不加的,他表示字符串的…

shell編程練習題

求2個數之和計算1-100的和將一目錄下所有的文件的擴展名改為bak編譯當前目錄下的所有.c文件:打印root可以使用可執行文件數,處理結果: roots bins: 2306打印當前sshd的端口和進程id,處理結果: sshd Port&&pid: 22 5412輸出本機創建20…

shell編程題(一)

求2個數之和 #!/bin/bashfunction add {if(( $# < 2 )); thenecho "The arg int correct"elsesum$(($1$2))echo $sumfi }add 1 add 1 2 運行結果&#xff1a; exbotubuntu:~/shareWin/linux/shell$ ./sum.sh 1 2The arg int correct3 $#&#xff1a;相當于C語言…

vimset

vim ~./vimrc set nocompatible "去掉有關vi一致性模式&#xff0c;避免以前版本的bug和局限 set nu! "顯示行號 set guifontLuxi/ Mono/ 9 " 設置字體&#xff0c;字體名稱和字號 filetype on …

shell編程題(二)

計算1-100之和 #!/bin/bashsum0 for i in seq 1 100;do #符號不是單引號 是 1左邊的符號sum$[$i $sum ] done echo $sum #!/bin/bashi0 n1              #定義循環變量 while [ $n -lt 101 ];do  #循環變量小于101 i$(( $i $n))        #累加 n$(( …

vim命令大全

1. vim模式 正常模式&#xff08;按Esc或Ctrl[進入&#xff09; 左下角顯示文件名或為空 插入模式&#xff08;按i進入&#xff09; 左下角顯示--INSERT-- 可視模式&#xff08;按v進入&#xff09; 左下角顯示--VISUAL-- 替換模式&#xff08;按r或R開始&#xff09; 左下角顯…

signal()函數

函數原型 void (*signal(int sig,void(*func)(int)))(int); 指定使用sig指定的信號編號處理信號的方法。參數func指定程序可以處理信號的三種方式之一&#xff1a; l 默認處理(SIG_DFL)&#xff1a; 信號由該特定信號的默認動作處理l 忽略信號&#xff08;SIG_IGN&a…

setitimer()函數

定時器時間函數 struct itimerval&#xff1a;struct itimerval *new_value&#xff0c;其定義如下&#xff1a;struct itimerval {struct timeval it_interval; /*next value*/struct timeval it_value; /*current value*/};struct timeval {long tv_sec; /*seconds*/lonng t…

shell編程題(三)

將一目錄下所有的文件的擴展名改為bak #! /bin/bashfor i in ls domv $i ${i%%.*}.bak done ${i%%.*} 截掉一個變量字符串第一個"."以及其右側的所有字符&#xff0c;即最短前綴匹配。 #! /bin/bashdir./ #指定文件夾for file in $dir*.txt #指定文件夾下面文件類型…

VMware安裝VMwaretools

默認點擊“安裝VMware Tools&#xff08;T&#xff09;”選項下載好安裝包 下載的安裝包放在計算機的media目錄下 進入/media/ubuntu14-04/VMware Tools目錄&#xff1a; cd /media/ubuntu14-04/VMware Tools 將安裝包復制到tmp文件夾下&#xff1a; cp VMwareTools-10.0.5-322…

shell編程題(四)

編譯當前目錄下的所有.c文件 #!/bin/bashif [ $# -lt 1 ] ;then #如果輸入參數小于1則報錯 $# C語言中的argv[0] 輸入參數個數echo "Please follow up file.c!"echo "eg: ./make.sh xxx.c"exit fiif [[ $2 "debug" ]] ;then #如果第三個參數…

stat函數

int lstat(const char *path,struct stat*buf) 當文件是一個符號鏈接時&#xff0c;lstat返回的是該符號鏈接本身的信息&#xff0c;而stat返回的是該鏈接指向的文件的信息。 struct stat {dev_t st_dev; //設備號碼ino_t st_ino; //inode節點號mo…

字符串函數參數傳入傳出(字符串反轉)

/*** strstr.c ***/ #include<stdio.h> #include<string.h>//求字符串p中abcd出現的次數 //自定義函數接口完成業務函數和main函數分開 int getCount(char *mystr,char *sub,int *ncount) {int ret 0;if(mystr NULL || sub NULL || ncount NULL){ret -1;print…

字符串函數參數傳入傳出(去空格)

字符串作為函數參數傳入傳出 /*** delSpace.c ***/ #include<stdio.h> #include<string.h>int DelSpace(char *str) {int iRet -1;int i ;int j ;int ncount 0;char *out str;if(NULL str ){printf("the point in is NULL\n");return iRet;}i 0;j …

字符串的規范使用

有一個字符串”1a2b3d4z”,&#xff1b; 要求寫一個函數實現如下功能&#xff0c; 功能1&#xff1a;把偶數位字符挑選出來&#xff0c;組成一個字符串1。valude&#xff1b;20分 功能2&#xff1a;把奇數位字符挑選出來&#xff0c;組成一個字符串2&#xff0c;valude 20 功能…

字符串的規范使用(二)

鍵值對&#xff08;”key valude”&#xff09;字符串&#xff0c;在開發中經常使用&#xff1b; 要求1&#xff1a;請自己定義一個接口&#xff0c;實現根據key獲取valude&#xff1b;40分 要求2&#xff1a;編寫測試用例。30分 要求3&#xff1a;鍵值對中間可能有n多空格&am…

字符串逆序打印

版本1 兩個指針從頭到尾和從尾到頭交換內容逆序 /*** str_reverse.c ***/ #include<stdio.h> #include<string.h>int main() {char buf[] "abcdrfg";int len strlen(buf);char *p1 buf;char *p2 buf len - 1;while(p1 < p2){char c *p1;*p1 *p…