笨方法学python(ex1-17)--%,input,解包,读取,写文件

小技巧:ALT+3可多行注释ALT+4多行取消注释,F5运行,cmd下直接输入python -m pydoc 即可打开帮助文档,或者可直接在后面加上函数就可查询用法如python -m pydoc round


1 %r

百分号非常规用法:

formatter = "%r %r %r %r" 

print formatter % (1, 2, 3, 4)

将 %r 和 %s 比较一下。注意到了吗?%r 打印出来的是你写在脚本里的内容,而 %s 打印的是你应该看到的内容

2 input()

python3中没有raw_input()函数了,直接用input()代替

可在括号中加提示语,如:age=input('age?')

3 参数,解包(ex13)

from sys import argv
a,b,c,d = argv
print('1',a)
print('2',b)

print('3',c)

print('4',d)

之后在命令提示符里打开用  >>>python 1.py first 2nd 3rd  #要理解到1.py实际也是个参数

这样就可以“把 argv 中的东西解包,将所有的参数依次赋予左边的变量名”

4 读取文件(ex15)

from sys import argv  #调用sys的argv

script,filename= argv  #用argv获取文件名,script,filename只是变量名随便起的不影响

txt=open(filename  )#打开输入的第二个参数对应文件

print ('here is your file %r.' %filename)  #读取第二个参数对应文件的名字
print(txt.read())  #显示第二个参数对应文件的内容

print('type the filename again:')  #进行第二种打开文件的方法

file_again=input('>')  #让输入要打开文件的名字

txt_again=open(file_again  )#打开

print (txt_again.read())

在命令行输入>>>python 1.py ex15_sample.txt    #输入两个参数,分别替代script,filename

5  应该记 住的命令如下:

 • close – 关闭文件。跟你编辑器的 文件 -> 保存.. 一个意思。

 • read – 读取文件内容。你可以把结果赋给一个变量。

 • readline – 读取文本文件中的一行。

 • truncate – 清空文件,请小心使用该命令。 

• write(stuff) – 将 stuff 写入文件。

6 写文件

from sys import argv

script,filename= argv#用argv获取文件名
print ('wo are going to erase %r.' %filename)
print('if you don\'t want that,hit CTRL-C(^C).')
print('if you do want that,hit RETURN')

input('?')

print('opening the file...')
target=open(filename,'w')#写入模式

print('Good bye!')
target.truncate()#清除内容

###前半段是擦除之前的数据,后半段是写数据

print ('now i am going to ask 3 lines')

line1=input('line1:')##此处引号不能去掉,因为并没有定义line1
line2=input('line2:')
line3=input('line3:')

print('i am going to write these to the file.')

target.write(line1)
target.write("\n")
target.write(line2)
target.write("\n")
target.write(line3)
target.write("\n")
#######此处也可用target.write(line1 + '\n' + line2 + '\n' + line3)代替,注意write()只能是一个字符串。如果多个字符串,使用print()可以使用逗号分隔,而使用######write()只能把各字符串相加


print ('And finally, we close it.')
target.close()


7

文件模式

默认的文件打开后,是返回一个只读文件,如果你想写在文件中的话,必须显示的定义mode参数,下面是mode参数最经常使用的值
Value     Description
'r'     Read mode
'w'     Write mode
'a'     Append mode
'b'     Binary mode (added to other mode)
'+'     Read/write mode(added to other mode)
其中’+‘可以添加在任何一个模式后面,表示可读可写
‘b’用来改变不同的文件处理方式,b表示binary,像视频,图像等等信息就是一个二进制文件,可以读的时候加上'rb'模式,这个表示以二进制的形式读取文件

8 ex17

from sys import argv
from os.path import exists

script, from_file, to_file = argv

print('copy from %s to %s'%(from_file, to_file))

input=open(from_file)
indata=input.read()

print('the input file is %d bytes long'%len(indata))

print('does the output ile exist? %r'%exists(to_file))
print('ready,hit RETURN to continue,CTRL-C to abort.')
input()

output=open(to_file,'w')
output.write(indata)

print('All right!')

output.close()
input.close()

##########不知道哪里出错了,提示的‘typeerror '_io.textiowrapper' object is not callable’

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值