代码
from sys import argv
script, filename = argv
txt = open(filename)
#txt = filename.open()#don't work.
print(f"Here's your file {filename}:")
print(txt.read())#read是个命令,txt是执行read命令的对象
print(txt)#直接列印,不用read命令,出来的事这个文件的属性
#print(filename.open())#don't work.
txt.close()
print("Type the filename again:")
file_again = input("> ")
txt_again = open(file_again)
print(txt_again.read())
#txt_again = open(file_again)#open命令只能读一次,读完后就自动清空txt_again的内存。变现就是如果这句代码不再执行一次,下面的a就是空值。
a=txt_again.read()
print("this is \n"+ a)
#b=read(txt_again)#read不能这么用,只能在"."后面用?
#print(b)
print(txt_again)
txt_again.close()
遇到问题
1、read不能这么用,只能在".“后面用?-read是一种属性。
2、read、open、这些的用法都是固定的吗?作为”.“后的附属动作(属性)和作为”=“后的独立动作都是固定的?-只能一边学一遍记。
3、powshell中直接录入python不知道怎么弄?
4、close不知道是什么效果?加和不加看不出不同。“b-read”这块的内容,好像说明open的内容读取一次后会自动关闭。所以不用“close”?
5(2020-5-3更新的问题)、如果不使用argv函数,直接在程序里写死(hardcode)文件名(比如a = open(.txt)),会出现文件名"'’ is not defined”的错误提示。要写成(a = open(”****.txt")),那就和print用法一样了。
学到的
1、读取文件并列印的两种格式,流程均是:指定文件、打开复制文件到值、列印那个值;
2、open、read、close的用法;
3、列印txt.read是出来文件内容,列印txt是出来文件的属性。