from sys import argv
script,filename = argv
txt = open(filename)
print "Here's your file %r:" %filename
print txt.read()
print "Type the filename again:"
file_again = raw_input("> ")
txt_again = open(file_again)
print txt_again.read()
结果如下
我们可以看到 open 这个命令
“它会接收一个参数,并且返回一个值,你可以将这个值赋给一个变量。这就是你打开文件的过程。”
在这里接收的参数是 ex15_sample.txt ,返回应该是文件内容?这里不确定
然后把文件内容赋给 txt 变量。
“从 open 获得的东西是一个 file (文件),文件本身也支持一些命令。它接收命令的方式是使用句点(.),紧跟着你的命令,然后是类似 open 和 raw_input 的参数。”
当我使用 txt.read 的时候,意思是无需任何参数。
==========================================================================================
附加习题
1.添加注释
#-*-coding:utf-8-*-
from sys import argv #调用参数变量
script,filename = argv #命名
txt = open(filename) #打开 filename 到 txt中
print "Here's your file %r:" %filename
print txt.read() #打印txt的内容
print "Type the filename again:"
file_again = raw_input("> ") #再输入文件名
txt_again = open(file_again)
print txt_again.read()
4.删掉第10-15行
5.只用 raw_input 写这个脚本的话,我觉得似乎没什么不好?
但是有个问题,如果在一开始命令行里面没有提示叫输入什么东西的情况下,初次使用脚本的人可能根本不知道要输入什么参数到argv
也许先 print 再 raw_input会更好一些