文件读写

读文件

过程:
1、 打开文件
2、 读文件内容
3、 关闭文件

1、打开文件
open(path, flag[, encoding] [, errors])
path: 要打开文件的路径
flag: 打开方式
r 以只读方式打开文件,文件描述符放在文件开头
rb 以二进制格式打开一个文件用于只读,文件描述符放在文件开头
r+ 打开一个文件用于读写,文件描述符放在文件开头
w 打开一个文件只用于写入,如果该文件已存在,会覆盖,如果不存在则创建新文件
wb 打开一个文件只用于写入二进制,如果该文件已存在,会覆盖,如果不存在,则创建新文件
w+ 打开一个文件用于读写,如果该文件已存在,会覆盖,如果不存在则创建新文件
a 打开一个文件用于追加,如果文件存在,文件描述符将会放到文件末尾
a+ 打开一个文件用于追加
encoding: 编码方式 utf-8/gbk
errors: 错误处理

path = r“C:\Users\89460\Documents\PythonData\pythonfile.txt”    #加扩展名
f = open(path, “r”[, encoding = “utf-8”, errors = “ignore”])

2、读文件内容

#1、读取文件全部内容
str1 = f.read()
print(str1)#2、读取指定字符数
str2 = f.read(10)
print(“*” + str2 + “*”)
str3 = f.read(10)
print(“*” + str3 + “*”)#3、读取整行,包括"\n"
str4 = f.readline()
print(str4)
str5 = f.readline()
print(str5)#4、读取指定字符数
str6 = f.readline(10)
print(str6)#5、读取所有行并返回列表
list7 = f.readlines()
print(list7)#6、若给定数字大于0,返回实际size字节的行数
list7 = f.readlines(21)
print(list7)#修改描述符的位置
f.seek(0)   #0\10\20

3、关闭文件
f.close()

#一个完整的过程
try:f1 = open(path, “r”, encoding = “utf-8”)print(f1.read())
finally:if f1:f1.close()#自动关闭文件
with open(path, “r”, encoding = “utf-8”) as f2:print(f2.read())

写文件

path = r" C:\Users\89460\Documents\PythonData\pythonfile.txt"
f = open(path, "w")#写文件
1、将信息写入缓冲区
f.write("good good study")2、刷新缓冲区
#直接把内部缓冲区的数据立刻写入文件,而不是被动等待自动刷新写入
f.flush()while True:passf.close()with open(path, "a") as f2:f2.write("good man")

编码与解码
编码

path = r”C:\Users\89460\Documents\PythonData\pythonfile.txt”
with open(path, “wb”) as f1:str = “sunck is a good man”f1.write(str.encode(“utf-8”))with open(path, “rb”, encoding = “utf-8”, errors = “ignore”) as f2:data = f2.read()print(data)print(type(data))newData = data.decode(“utf-8”)  #gbkprint(newData)
print(type(newData))

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

import pickle    #数据持久性模块myList = [1,2,3,4,5, “sunck”]
path = r”C:\Users\89460\Documents\PythonData\pythonfile.txt”
f = open(path, “wb”)pickle.dump(myList, f)f.close()#读取
f1 = open(path, “rb”)
tempList = pickle.load(f1)
print(tempList)
f1.close()

os模块

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

import os#获取操作系统类型   nt->windows  posix->Linux、Unix或Mac OS X
print(os.name)#打印操作系统详细信息(windows不支持)
print(os.uname)#获取操作系统的环境变量
print(os.environ)#获取指定环境变量
print(os.environ.get(“APPDATA”))#修改环境变量#获取当前目录
print(os.curdir)#获取当前工作目录,即当前python脚本所在的目录
print(os.getcwd())#以列表的形式返回指定目录下所有文件
print(os.listdir(r”路径”))#在当前目录下创建新目录
os.mkdir(“sunck”)#删除目录
os.rmdir(“相对/绝对路径”)#获取文件属性
print(os.stat())#重命名
os.rename(“sunck”, “kaige”) #(old, new)#删除普通文件
os.remove(“file1.txt”)#运行shell命令
os.system(“notepad”)
os.system(“write”)
os.system(“shutdown -s -t 500”) #注销关机
os.system(“shutdown -a”)    #取消关机
os.system(“taskkill /f /im notepad.exe”)#有些方法存在os模块里,还有些存在于os.path
#查看当前的绝对路径
print(os.path.abspath(“.”))#拼接路径
p1 = r””
p2 = “”
#注意:参数2里开始不要有斜杠
print(os.path.join(p1, p2))p3 = “/root/sunck/home”
p4 = “kaige”
#/root/sunck/home/kaige
print(os.path.join(p3, p4))#拆分路径
path2 = “”
print(os.path.split(path2))#获取扩展名
print(os.path.splitext(path2))#判断是否是目录
print(os.path.isdir(path2))#判断文件是否存在
print(os.path.isfile(path2))#判断目录是否存在
print(os.path.exists(path))#获得文件大小(字节)
print(os.path.getsize(path))#文件的目录
print(os.path.dirname(path))
print(os.path.basename(path))

窗口控制

import win32con  #安装库pywin32, spy窗口
import win32gui
import time
import random

1、控制窗体的显示和隐藏

#找出窗体的编号
QQWin = win32gui.FindWindow(“类”, “标题”)time.sleep(2)#显示/隐藏窗体
win32gui.ShowWindow(QQwin, win32con.SW_SHOW)    #HIDE

2、控制窗体的位置和大小

#找出窗体的编号
QQWin = win32gui.FindWindow(“类”, “标题”)#参数1:控制的窗体
#参数2:大致方位
#参数3:位置X
#参数4:位置Y
#参数5:长度
#参数6:宽度while Truex = random.randrange(900)y = random.randrange(600)win32gui.SetWindowPos(QQWin, win32con.HWND_TOPMOST, 100, 100, 300, 300, win32con.SWP_SHOWWINDOW)

语音合成

#系统客户端
import win32com.clientspeaker = win32com.client.Dispatch(“SAPI.SPVOICE”)
speaker.Speak(“hdsi ei lsldk dk”)while 1:time.sleep(5)speaker.Speak(“hdsi ei lsldk dk”)

内存修改

#进程模块
import wi32process
#系统
import win32gui
import win32api
import ctypesPROCESS_ALL_ACCESS = (0x000F0000|0x00100000|0xFFF)    #位运算#找窗体
win32 = win32gui.FindWindow(“MainWindow”, “植物大战僵尸”)
#根据窗体找到进程号
hid, pid = win32process.GetWindowThreadProcessID(win)#以最高权限打开进程
p = win32api.OpenProcess(PROCESS_ALL_ACCESS, False, pid)data = ctypes.c_long()#加载内核模块
md = atypes.windll.LoadLibrary(“C:\\Windows\\System32\\ kernel32”)#读取内存
md.ReadProcessMemory(int(p), &neicun, ctypes.byref(data), 4, None)
print(“data =”, data)#新值
newData = ctypes.c_long(10000)
#修改
md.WriteProcessMemory(int(p), &neicun, ctypes.byref(newData), 4, None)

python-文件读写-OS-窗口控制相关推荐

  1. seek是python文件操作方法吗,seek引发的python文件读写的问题

    我的需求很简单,就是统计一下我的安装脚本执行的次数和时间,格式是这样的 install_times:1|install_times:2018-09-03 15:58:46 install_times: ...

  2. python异步读写文件_一文彻底搞懂python文件读写

    Python文件读写 一,I/O操作 I/O在计算机中是指Input/Output,也就是Stream(流)的输入和输出.这里的输入和输出是相对于内存来说的,Input Stream(输入流)是指数据 ...

  3. python 文件读写操作总结

    python 文件读写操作总结 1.打开文件 open函数是python的内置函数,返回一个 file 对象 定义如下: open(file, mode='r', buffering=-1, enco ...

  4. [golang] golang文件读写 os.OpenFile(fileName,os.O_APPEND|os.O_WRONLY,os.ModeAppend)

    [golang] golang文件读写 os.OpenFile(fileName,os.O_APPEND|os.O_WRONLY,os.ModeAppend) 读写文件要用到的OS包 func Ope ...

  5. python文件读写_python基础-文件读写'r' 和 'rb'区别

    一.Python文件读写的几种模式: r,rb,w,wb 那么在读写文件时,有无b标识的的主要区别在哪里呢? 1.文件使用方式标识 'r':默认值,表示从文件读取数据. 'w':表示要向文件写入数据, ...

  6. 肝!超好懂的 Python 文件读写教程!

    (扫码关注) 作者:黄伟呢 源自:数据分析与统计学之美 1.文件读写的流程 1)类比windows中手动操作txt文档,说明python中如何操作txt文件? ① windows中手动操作txt文件的 ...

  7. python文件读取模式_day-2 python 文件读写模式r,r+,w,w+,a,a+的区别

    r+和w+都是可读可写,区别在于r+读文件时,不会覆盖之前的内容,之前的内容能够读出来:w+读时,会覆盖之前的内容:所以读文件时,用r或者r+ #读操作 r 1 filepath = 'aa.log' ...

  8. Python 文件读写

    Python 文件读写 Python内置了读写文件的函数,用法和C是兼容的.本节介绍内容大致有:文件的打开/关闭.文件对象.文件的读写等. 本章节仅示例介绍 TXT 类型文档的读写,也就是最基础的文件 ...

  9. Python 文件读写操作-Python零基础入门教程

    目录 一.Python 文件的打开 open 二.Python 文件的关闭 close 三.Python 文件的读取 read 1.read 函数 2.readline 函数 3.readlines ...

  10. python文件读写及形式转化和CGI的简单应用

    一丶python文件读写学习笔记 open() 将会返回一个 file 对象,基本语法格式如下: open(filename, mode) filename:包含了你要访问的文件名称的字符串值. mo ...

最新文章

  1. 【matlab】第二次上机课
  2. 将EXE安装包重新封装成MSI格式
  3. OOD沉思录 --- 类和对象的关系 --- 使用关系
  4. 05-移动端开发教程-CSS3兼容处理
  5. jsp页面,在浏览器端显示时会出现乱码解决方法
  6. 哪些计算机p玩游戏,有了这个神器,你的电脑玩什么游戏都带得动
  7. 支持回调处理 php函数,PHP支持回调的函数有哪些?
  8. 8本前沿技术书,助力这届「青年人」将科幻变成现实
  9. Postgresql kill用户进程
  10. rails debug
  11. hdoj4540:威威猫系列故事——打地鼠(dp基础题-数塔思想)
  12. 通篇详解-CMMM智能制造能力成熟度
  13. FDDB数据集(人脸检测)
  14. Vue实现 侧边固定定位图标 滑动隐藏
  15. 剑指offer 二叉搜索树与双向链表
  16. hell脚本案例(一):常见运维面试题
  17. 一个经济学果粉对国内iOS游戏厂商的5点斥责和5个建议
  18. 爱思服务器可以下小组件,iOS14 小组件添加/删除方法教程
  19. C++Web服务器(一):服务器整体运行流程
  20. java 集合交集、并集、差集、补集

热门文章

  1. win10打印机无法打印(怎样使用打印机打印)
  2. Dubbo线程池耗尽原理分析Thread pool is EXHAUSTED
  3. 论文解读-CenterNet:Keypoint Triplets for Object Detection
  4. 上dnf一直连接服务器中,Win7系统下玩dnf提示正在连接服务器如何解决
  5. 谢尔顿在玩科南时代,哈哈
  6. APS车间排产软件实现企业生产数据可视化
  7. 塔城地区谷歌高清卫星地图下载
  8. 栅格布局 xs sm md lg
  9. 马斯克、李彦宏、姚期智等云端纵论AI,他们都说了什么?
  10. 微软报表工具服务器版本,Report Builder 3.0