13、
<pre>
from sys import argv
script,first,second,third = argv
print("the script is called:",script)
print("your first varible is:",first)
print("your second variable is:",second)
print("your third variable is:",third)
这个脚本需要在控制台打开。因为要传递参数给脚本。
</pre>
14、
<pre>
from sys import argv
script, user_name = argv
prompt = ">"
print("hi %s,i'm the %s script." % (user_name, script))
print("i'd like to ask you a few questions.")
print("do you like me %s?" % user_name)
likes = input(prompt)
print("where do you live %s?" % user_name)
lives = input(prompt)
print("what kind of computer do you have?")
computer = input(prompt)
print("""
alright, so you said %r about liking me.
you live in %r. not sure where that is.
and you have a %r computer. nice.
""" % (likes, lives, computer))
</pre>
15、
<pre>
from sys import argv #声明下面打的argv相当于sys.argv
script,filename = argv #传两个参数进去,其中一个是你的py文件路径,另一个是你要读取的文件路径
txt = open(filename) #(打开文件)
print("here's your file %r:" % filename)#打印英文和你传递的filename的参数
print(txt.read())#把文件内容打印出来,不能有中文。
print("type the filename again:")#打印文字提示用户
file_again = input(">")#提示>让用户输入,
txt_again = open(file_again)#打开用户新输入的文件
print(txt_again.read())#读取用户新输入的文件
</pre>
<pre>
思考题:
方法是一种特殊的函数。 python中,函数(方法)并不是依附与类才能存在。
函数并不只是在类中定义。这种直接在模块中而不是类中定义的函数(方法),叫做函数。
而方法,是依附于类的,他们定义在类中,是属于类的,但是他们本质上,还是一个函数。方法的第一个参数不一定必须是self。
这么说吧,凡是def foo()这种,都是函数,在类中定义的函数,就是方法。
</pre>
16、
<pre>
from sys import argv
scipt , filename = argv #传递文件名的参数
print("we're going tu erase %r." % filename) #文件名传递到%r所在的地方
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("truncating the file. goodbye!") #清空文件提示
target.truncate() #文件清空了
print("now i'm going to ask you for three lines.") #提示重新录入
line1 = input("line1:")#录入第一行
line2 = input("line2:")#录入第二行
line3 = input("line3:")#录入第三行
print("i'm going to write these to the file.")#提示准备写入
target.write(line1)#写入第一行
target.write("\n")#写入换行符
target.write(line2+"\n"+line3+"\n")#剩下的一起写入了
print("and finally,we close it.")#提示结束并关闭文件
target.close()#关闭文件
</pre>
17、
<pre>
from sys import argv
from os.path import exists #这个命令将文件名字符串作为参数,如果文件存在的话,它将返回 True,否则将返回 False。
script,from_file,to_file = argv#传递参数
print("copying from %s to %s" %(from_file,to_file))#提示这个脚本的功能是将from_file的内容copy给to_file
we could do these two on one line too,how?
input = open(from_file) #很好奇为啥使用input。不过当时没有3.估计也没想到会冲突,就是打开文件
indata = input.read()#读取文件并赋值给indata
print("the input file is %d butes long" % len(indata)) #计算变量内容的长度并打印出来
print("does the output file exist? %r" % exists(to_file))#这里如果文件不存在就报FALSE 提示用户的作用。
print("ready,hit return to continue, ctrl-c to abort.")#提示如果不继续可以ctrl+c停止
input()#起到了暂停的作用。学到了
output = open(to_file,"w")#打开文件,并清空内容,然后准备写入新的文件
output.write(indata) #把indata的数据写入to_file
print("alright,all done.") #提示结束
output.close()#关闭文件
input.close()#关闭文件
</pre>
<pre>
思考题:
改短:
w = open("file2的路径","w")
for i in open("file1的路径","r"):
i = i.strip()
w.write(i+"\n")
这到底怎么改成1行的,天哪。。
</pre>