码迷,mamicode.com
首页 > 编程语言 > 详细

笨办法学习python3练习代码:argv参数变量与文件操作

时间:2020-07-18 11:22:18      阅读:71      评论:0      收藏:0      [点我收藏+]

标签:The   方法   数据   from   put   write   print   赋值   bsp   

ex15.py

完成ex15.py需要在ex15.py同文件夹目录下面准备一个txt文件(ex15_sample.txt)

执行ex15.py 如: python     ex15.py      ex15_sample.txt。则可以读取 ex15_sample.txt这个文件的内容

读取文件的基本操作:

        1. 打开一个文件,如txt = open(filename)
        2. 读取文件,如txt.read()
        3.  对文件操作完,一定要关闭文件,如txt.close()

与文件操作有关的一些函数

  1. close:关闭文件
  2. read:读取文件的内容,可以把结果赋值给一个变量
  3. readline:只读取文本文件的一行
  4. truncate(缩短的意思):清空文件,小心使用该命令
  5. write("stuff"):将"stuff"写入文件
  6. seek(0):将读写位置移动到文件开头
 1 from sys import argv
 2 #sys是一个软件包,把argv这个特性(或者叫模块、方法)插入到代码中
 3 script, filename = argv    #filename 是要选择读取的文件名,在这里是ex15_sample.txt
 4 
 5 #读取文件第一步,打开文件
 6 txt = open(filename)
 7 print(f"Here‘s your file {filename}:")
 8 
 9 #读取文件第二步,读文件并打印
10 print(txt.read())
11 #文件处理完,一定要关闭
12 txt.close()
13 
14 print("Type the filename again:")
15 
16 #input中“>”是提示符,打印出来就是>;用户输入的字符串会赋给变量file_again
17 file_again = input("> ")
18 txt_again = open(file_again) 19 print(txt_again.read()) 20 #文件处理完,一定要关闭 21 txt_again.close()

 

ex16.py

 1 #close:关闭文件
 2 #read:读取文件的内容,可以把结果赋值给一个变量
 3 #readline:只读取文本文件的一行
 4 #truncate(缩短的意思):清空文件,小心使用该命令
 5 #write("stuff"):将"stuff"写入文件
 6 #seek(0):将读写位置移动到文件开头
 7 
 8 from sys import argv
 9 script, filename = argv             #filename = ex15_sample.txt
10 print(f"We‘re going to erase {filename}.")  #erase :清除的意思
11 
12 print("if you don‘t want that, hit CTRL-C {^C}.")  # hit 点击,打击的意思
13 print("if you do want that,hit RETURN.")
14 
15 input("?")
16 print("Opening the file...")
17 target = open(filename,w) #open for writing,truncating the file first
18 print("Truncate the file. Goodbye!")
19 
20 #清空文件 
21 target.truncate()
22 
23 print("Now I‘m going to ask you for threes lines.")
24 line1 = input("line 1: ")
25 line2 = input("line 2: ")
26 line3 = input("line 3: ")
27 
28 print("I‘m going to write these to the file.")
29 target.write(line1)
30 target.write("\n")
31 target.write(line2)
32 target.write("\n")
33 target.write(line3)
34 target.write("\n")
35 #一行一行接着写入
36 
37 print("And fianlly,we close it. ")
38 target.close()

 ex17.py

注意事项:不要用echo方法创建txt文件,用echo命令会出错。直接在python3文件夹里面创建txt即可。也就是在运行代码之前直接在python3文件夹里面创建ex17_from.txt和ex17_to.txt两个文件。同时要在ex17_from.txt中写入一些东西(可随意写一些东西),才有内容从ex17_from.txt可以复制到ex17_to.txt中。

 1 ‘‘‘
 2 把ex17_from.txt的内容 读取出来写入到ex17_to.txt 文件中
 3 1.打开ex17_from.txt文件,默认读方式打开
 4 2.读取文件数据
 5 3.关闭ex17_from.txt文件
 6 
 7 1.打开ex17_to.txt文件,默认读方式打开,改成写方式打开
 8 2.写入数据
 9 3.关闭ex17_to.txt文件
10 
11 
12 ‘‘‘
13 
14 
15 
16 from sys import argv
17 from os.path import exists  #exist(存在的意思)
18 
19 script, from_file, to_file = argv
20 print(f"coping from {from_file} to {to_file}")
21 in_file = open(from_file)
22 indata  = in_file.read()
23 print(f"The input file is {len(indata)}bytes long")
24 
25 print(f"Does the output file exists? {exists(to_file)} ")        #exist(存在的意思)
26 print("Ready,hit RETURN to continue, CTRL-C to abort.")
27 input()
28 in_file.close()
29 
30 out_file = open(to_file,w)
31 out_file.write(indata)
32 
33 print("Alright, all done.")
34 
35 out_file.close()

 

笨办法学习python3练习代码:argv参数变量与文件操作

标签:The   方法   数据   from   put   write   print   赋值   bsp   

原文地址:https://www.cnblogs.com/lsc666js/p/13333820.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!