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.mzph.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…