停更了将近一个礼拜。天知道我经历了啥。
迷茫是一个人在正常不过的状态了,陷进去很容易,想出来却很难。
谁的青春不迷茫,重要的是早点认清自己。
=========================================分割线================================================
第一个程序
屏幕输入-syswrite
# encoding: utf-8
'''
@author: ccq
@file: syswrite.py
@time: 2019/6/5 16:21
'''
# 屏幕输入
import sys, time
sys.stdout.write("hello")
sys.stdout.write(" + ")
sys.stdout.write("hello")
print("")
print("hello")
print(" + ")
print("hello")
# 制作一个类似的进度条
for i in range(20):
sys.stdout.write("#")
sys.stdout.flush()
time.sleep(0.1)
#其实想了很久也不知道这个代码到底应该取啥名字。反正就是对比print输出和sys.stdout.write输出的不同。print输出完直接换行,sys.stdout.write输出完不换行。(比java里的system.out.print和system.out.println差异性大一点)
#其次就是flush操作。flush是一个刷新缓冲区的操作。当往文件中写入的时候(或者使用sys.stdout.write输出的时候),写的内容会存放在缓冲区,等到一定量的时候再一起写入文件(或者输出出来)。这意味着你没有办法立刻检查是否写入了文件(因为不会显示)。因此可以使用flush操作直接刷新,让它立即显示。
#最后一段代码是做了一个用#表示的进度条。time.sleep是延时作用。sys.stdout.write方法输出的时候会不显示(原因如上),所以使用sys.stdout.flush刷新。
#发现了一个很奇怪的事情,我的电脑去掉sys.stdout.flush这行一样是进度条的效果。有没有大佬可以解释一下?
=========================================分割线================================================
第二个程序
文件操作3-fileoperation3
# encoding: utf-8
'''
@author: ccq
@file: fileoperation3.py
@time: 2019/6/5 19:51
'''
# 文件操作3
# truncate截断方法
f = open("yesterday", "a", encoding="utf-8")
f.seek(50)
f.truncate(10)
# 文件读写,既可以读又可以写(写只能追加)
f2 = open("yesterday2", "r+", encoding="utf-8")
print(f2.readline())
print(f2.readline())
print(f2.readline())
f2.write("=========================")
print(f2.readline())
# 文件写读(用处不大)
f3 = open("yesterday3", "w+", encoding="utf-8")
f3.write("aaaaaaaaaaaaaaaaaa\n")
f3.write("aaaaaaaaaaaaaaaaaa\n")
f3.write("aaaaaaaaaaaaaaaaaa\n")
print(f3.tell())
f3.seek(10)
print(f3.tell())
print(f3.readline())
f3.write("=========================")
f3.close()
# 二进制文件(网络传输只能用二进制打开)
f4 = open("yesterday4", "rb")
print(f4.readline())
print(f4.readline())
print(f4.readline())
f4.close()
f5 = open("yesterday5", "wb")
f5.write("hello".encode())
f5.close()
#第一段代码主要讲的是truncate方法,就是截断方法。我本来想把光标移动到50,然后再开始截断,后来发现没有效果。truncate方法一定是从头开始截断,上面代码中就是从头开始截断10。
#第二段代码文件读写。这时候既可以读文件又可以写文件,但是写文件只能是追加。不能在中间改。我的代码本来是读三行然后写入一个分隔符,然后再打印分隔符。最后发现打印了前四行,并且文件最后追加了一行。
#文件读写用处不大,就不详细说了。
#二进制读,和写。二进制例如网络传输和视频文件,都要用的到,所以还比较重要。
=========================================分割线================================================
第三个程序
文件更新-fileupdate
# encoding: utf-8
'''
@author: ccq
@file: fileupdate.py
@time: 2019/6/5 20:49
'''
# 文件修改
fread = open("fread", "r", encoding="utf-8")
fwrite = open("fwrite", "w", encoding="utf-8")
for line in fread:
if "你给我听好" in line:
line = line.replace("你给我听好", "你给我认真的听好")
fwrite.write(line)
fread.close()
fwrite.close()
#其实不是真正意义上的文件更新,因为是把旧文件的读出来,然后写到新文件中去。
=========================================分割线================================================
今天就到这里,明天继续。青春别迷茫,找准方向,奋斗吧。