python(十)——文件读写、OS模块、win32控制窗体、语音合成

278 阅读7分钟

目录

文件读写

读取文件内容

1、读取文件的全部内容

2、读取指定字符数

3、读取整行

4、读取所有行并返回列表

5、修改修饰符位置seek

文件写入

list-tuple-dict-set的文件操作

os模块

打印os的名字,获取操作系统类型      nt---Windows      posix---Linux/Unix/Mac OS X

打印操作系统详细信息,但Windows不支持

获取操作系统环境变量

获取当前工作目录,即当前.py脚本所在的目录

以列表形式返回指定目录下所有文件

在当前目录下创建新目录

获取文件的属性

运行shell命令

查看当前的绝对路径

获取文件大小,单位字节

win32控制窗体

隐藏/显示窗体

控制窗体的位置和大小

语音合成


文件读写

打开文件open(path,flag)

path:打开文件的路径

flag:打开文件的方式

  • r:以只读方式打开文件,文件的描述符放在文件的开头
  • rb:以二进制格式打开一个文件用于只读,文件的描述符放在文件的开头
  • r+:打开一个文件用于读写,文件的描述符放在文件的开头
  • w:打开一个文件只用于写入,如果文件已经存在,将会被覆盖,文件不存在将会创建文件,文件的描述符放在文件的开头
  • wb:打开一个文件用于写入二进制,如果文件已经存在,将会被覆盖,文件不存在将会创建文件
  • w+:打开一个文件用于读写
  • a:打开一个文件用于追加,如果文件存在,文件的描述符将会放到文件末尾
  • a+:

encoding:编码方式,常用utf-8

errors:错误处理

关闭文件 .close()

读取文件内容

1、读取文件的全部内容

path = r"C:\Users\asus\Desktop\a.txt"

f = open(path,"r")
str = f.read()
print(str)
f.close()

2、读取指定字符数

f = open(path,"r")
str = f.read(3)
print(str)
f.close()

3、读取整行

f = open(path,"r")
str = f.readline()
print(str)
f.close()

4、读取所有行并返回列表

f = open(path,"r")
list = f.readlines()
print(list)
f.close()

5、修改修饰符位置seek

f = open(path,"r")
f.seek(8)
str = f.read()
print(str)
f.close()

 

注意:中文是两个字节

try:
    f = open(path, "r")
    f.seek(7)
    str = f.read()
    print(str)
except:
    print("程序出错")
finally:
    if f:
        f.close()

文件写入

1、将信息写入缓冲区,刷新缓冲区就能立刻写写入文件,不写缓冲区将会在关闭文件时刷新缓冲区

f = open(path, "w")
f.write("thaifaifaijaiafn")
f.close()

刷新缓冲区 f.flush()

import time
path = r"a.txt"

f = open(path, "w",encoding="utf-8")
f.write("按时发放")
time.sleep(3) #延时3秒
f.flush()

 

list-tuple-dict-set的文件操作

数据持久性模块,将数据存到磁盘

import pickle

二进制存储列表

import pickle #数据持久性模块

path = "a.txt"
list1 = [1,2,3,4,"asad"]
#存入
f = open(path,"wb")
pickle.dump(list1,f) #存列表
f.close()
#读取
f = open(path,"rb")
main = pickle.load(f)  #load加载
print(main)
f.close()

 

os模块

os:包含了普遍的操作系统功能

os,语义为操作系统,所以肯定就是操作系统相关的功能了,可以处理文件和目录这些我们日常手动需要做的操作

打印os的名字,获取操作系统类型      nt---Windows      posix---Linux/Unix/Mac OS X

import os

print(os.name)

 

打印操作系统详细信息,但Windows不支持

import os

print(os.uname())

 

获取操作系统环境变量

import os

print(os.environ)

 

获取当前工作目录,即当前.py脚本所在的目录

import os

print(os.getcwd())

 

以列表形式返回指定目录下所有文件

import os

print(os.listdir("F:\pycharm\pythwork"))

 

在当前目录下创建新目录

import os

os.mkdir("lll")

删除目录:  os.rmdir("lll")

删除文件:os.remove("文件名")

获取文件的属性

import os

print(os.stat("a.txt"))

 

运行shell命令

运行写字板

import os

os.system("write")

运行画板

import os

os.system("mspaint")

在8分钟后关机

os.system("shutdown -s -t 500")

自动关机取消

os.system("shutdown -a")

 

查看当前的绝对路径

import os

print(os.path.abspath("./a.txt"))

 

获取文件大小,单位字节

import os

print(os.path.getsize("a.txt"))

 

 

win32控制窗体

需要在python中安装win32con模块和win32gui模块,安装建议1  安装建议2

隐藏/显示窗体

使用QQ登录界面

import win32con
import win32gui

#找到窗体编号
QQwin = win32gui.FindWindow("TXGuiFoundation","QQ") #窗口类名 窗口标题名

#隐藏窗体
win32gui.ShowWindow(QQwin,win32con.SW_HIDE)

隐藏窗体,然后在两秒后再将窗体显示出来   代码如下:

import win32con
import win32gui
import time
#找到窗体编号
QQwin = win32gui.FindWindow("TXGuiFoundation","QQ") #窗口类名 窗口标题名
#隐藏窗体
win32gui.ShowWindow(QQwin,win32con.SW_HIDE)
#延时2秒
time.sleep(2)
#显示窗体
win32gui.ShowWindow(QQwin,win32con.SW_SHOW)

 

控制窗体的位置和大小

import win32con
import win32gui
import time
#找到窗体编号
QQwin = win32gui.FindWindow("TXGuiFoundation","QQ") #窗口类名 窗口标题名

#参数1:要控制的窗体
#参数2:大致方位 HWND_TOPMOST上方
#参数3:位置x
#参数4:位置y
#参数5:窗体长度
#参数6:窗体宽度
win32gui.SetWindowPos(QQwin,win32con.HWND_TOPMOST,200,200,300,300,win32con.SWP_SHOWWINDOW)

 

语音合成

可以用语音读出我们输入的文本

#系统客户端
import win32com.client

yuyin = win32com.client.Dispatch("SAPI.SPVOICE")
yuyin.Speak("这里的山路十八弯,这里的水路九连环")

循环5次

import time
#系统客户端
import win32com.client

yuyin = win32com.client.Dispatch("SAPI.SPVOICE")
for i in range(5):
    time.sleep(1)
    yuyin.Speak("这里的山路十八弯,这里的水路九连环")

 

一起学习,一起进步 -.- ,如有错误,可以发评论