python写入内存(用Python写入文件,若该行数据存在则不写入;若不存在,则写入)

1.用Python写入文件,若该行数据存在则不写入;若不存在,则写入

用open,该函数创建一个文件对象,这将用来调用与之关联的其他支持方式即可:

file object = open(file_name [, access_mode][, buffering])

file_name: file_name参数是一个字符串值,包含要访问的文件的名称。

access_mode: access_mode决定了文件必须被打开,即,读,写,追加等的可能值是下表中给定的一个完整的列表的模式。这是可选参数,默认文件存取方式为read (r)。

扩展资料:

file命令的函数意义:

file 命令读取用 File 参数或者 FileList 变量指定的文件,在每个文件上执行一系列测试,然后将它们按照类型分类。然后此命令将文件类型写入标准输出。文件可以是常规文件、目录、FIFO(指定的管道)、块特殊文件、字符特别文件、符号链接或者套接字类型。

1、对于长度为零的常规文件,将识别为空文件。

2、对于符号链接文件,缺省情况下此链接后跟符号链接引用的文件。

如果文件是 ASCII 码的格式,则 file 命令将检查前 1024 个字节然后确定文件类型。如果文件不是 ASCII 格式,则 file 命令将尝试区分二进制数据文件和包含扩展字符的文本文件。

参考资料来源:百度百科-File

参考资料来源:百度百科-DriveName

2.python怎么修改某个内存地址的数据

使用ctypes模块调用WriteProcessMemory函数,在创建程序进程后,就可以修改该程序指定内存地址。

WriteProcessMemory的函数原型如下所示。BOOL WriteProcessMemory( HANDLE hProcess,LPVOID lpBaseAddress,LPCVOID lpBuffer,SIZE_T nSize,SIZE_T* ); 其参数含义如下。

· hProcess:要写内存的进程句柄。· lpBaseAddress:要写的内存起始地址。

· lpBuffer:写入值的地址。· nSize:写入值的大小。

· :实际写入的大小。python代码示例如下:from ctypes import *# 定义_PROCESS_INFORMATION结构体 class _PROCESS_INFORMATION(Structure): _fields_ = [('hProcess', c_void_p), ('hThread', c_void_p), ('dwProcessId', c_ulong), ('dwThreadId', c_ulong)] # 定义_STARTUPINFO结构体 class _STARTUPINFO(Structure): _fields_ = [('cb',c_ulong), ('lpReserved', c_char_p), ('lpDesktop', c_char_p), ('lpTitle', c_char_p), ('dwX', c_ulong), ('dwY', c_ulong), ('dwXSize', c_ulong), ('dwYSize', c_ulong), ('dwXCountChars', c_ulong), ('dwYCountChars', c_ulong), ('dwFillAttribute', c_ulong), ('dwFlags', c_ulong), ('wShowWindow', c_ushort), ('cbReserved2', c_ushort), ('lpReserved2', c_char_p), ('hStdInput', c_ulong), ('hStdOutput', c_ulong), ('hStdError', c_ulong)] NORMAL_PRIORITY_CLASS = 0x00000020 # 定义NORMAL_PRIORITY_CLASS kernel32 = windll.LoadLibrary("kernel32.dll") # 加载kernel32.dll CreateProcess = kernel32.CreateProcessA # 获得CreateProcess函数地址 ReadProcessMemory = kernel32.ReadProcessMemory # 获得ReadProcessMemory函数地址 WriteProcessMemory = kernel32.WriteProcessMemory # 获得WriteProcessMemory函数地址 TerminateProcess = kernel32.TerminateProcess # 声明结构体 ProcessInfo = _PROCESS_INFORMATION() StartupInfo = _STARTUPINFO() file = 'ModifyMe.exe' # 要进行修改的文件 address = 0x0040103c # 要修改的内存地址 buffer = c_char_p("_") # 缓冲区地址 bytesRead = c_ulong(0) # 读入的字节数 bufferSize = len(buffer.value) # 缓冲区大小 # 创建进程 if CreateProcess(file, 0, 0, 0, 0, NORMAL_PRIORITY_CLASS, 0, 0, byref(StartupInfo), byref(ProcessInfo)): # 读取要修改的内存地址,以判断是否是要修改的文件 if ReadProcessMemory(ProcessInfo.hProcess, address, buffer, bufferSize, byref(bytesRead)): if buffer.value == '\x74': buffer.value = '\x75' # 修改缓冲区内的值,将其写入内存 # 修改内存 if WriteProcessMemory(ProcessInfo.hProcess, address, buffer, bufferSize, byref(bytesRead)): print '成功改写内存!' else: print '写内存错误!' else: print '打开了错误的文件!' TerminateProcess(ProcessInfo.hProcess,0) # 如果不是要修改的文件,则终止进程 else: print '读内存错误!' else: print '不能创建进程!'。

python写入内存

转载请注明出处代码入门网 » python写入内存(用Python写入文件,若该行数据存在则不写入;若不存在,则写入)

资讯

python3.4爬虫入门(如何入门Python爬虫)

阅读(14)

本文主要为您介绍python3.4爬虫入门,内容包括如何入门Python爬虫,python爬虫入门需要哪些基础,python爬虫自学要多久。可以先从简单的开始,在熟悉了Python语法后,学习用 urllib 和 urllib2 爬虫,使用 BeautifulSoup 分析结

资讯

python3好书(python三本经典书籍都是什么)

阅读(17)

本文主要为您介绍python3好书,内容包括python三本经典书籍都是什么,学习python3都好的书,求本适合学习python3.2的书或者电子版资料。python三本经典书籍有:《深度学习入门:基于Python的理论与实现》,《Python高性能(第2版)》,《Python科学计算最

资讯

python判定整数(怎样用python判断整数)

阅读(15)

本文主要为您介绍python判定整数,内容包括python怎么判断一个数是整数,python判断一个数是不是整数,python判断一个数是不是整数。import typesif type(var) in [types.IntType,types.LongType]: bodyelse

资讯

python画仪表(如何使用Python在屏幕上作画)

阅读(13)

本文主要为您介绍python画仪表,内容包括如何用python绘制各种图形,如何用Python绘制Circos图,如何使用Python在屏幕上作画。from turtle import *def curvemove():for i in range(200):right(1)forw

资讯

python写入文件编码格式(python2.7.4怎么指定格式编码的文本)

阅读(12)

本文主要为您介绍python写入文件编码格式,内容包括python写文件怎么写gbk编码的文件,python2.7.4怎么指定格式编码的文本,python2.7.4怎么指定格式编码的文本。要写入的数据本身就是byte串(u中文是中文字符串,中文是byte串),用二进制方式打开就

资讯

python3的好书(学习python3都有哪些好的书)

阅读(12)

本文主要为您介绍python3的好书,内容包括学习python3都好的书,python三本经典书籍都是什么,python3初学者用什么书比较好。Python核心编程,这本书出的比较早里面代码还是主要以2.x为主,但是还是很经典的。Learn Python the Hard Way

资讯

python正则空(python正则如何处理NULL)

阅读(13)

本文主要为您介绍python正则空,内容包括python中正则表达式匹配结果为空,求解决方法,python中正则匹配结果全为空,python正则如何处理NULL。#!/usr/bin/python#-*-coding:utf-8-*-import reimport sysli = []file =

资讯

python微信图文(python怎么抓取微信阅)

阅读(15)

本文主要为您介绍python微信图文,内容包括python怎么抓取搜狗的微信文章,python怎么抓取微信阅,python怎么抓取搜狗的微信文章。抓取微信公众号的文章 一.思路分析目前所知晓的能够抓取的方法

资讯

pythonide2017(如何配置VisualStudio2017作为Python开发环境)

阅读(11)

本文主要为您介绍pythonide2017,内容包括如何配置VisualStudio2017作为Python开发环境,为什么在python的ide上输入'hello'可以得到'hello'但是在vs2017中无法,Python开发常用的IDE。看起来问题好像是你并没有安装python的

资讯

python3.4爬虫入门(如何入门Python爬虫)

阅读(14)

本文主要为您介绍python3.4爬虫入门,内容包括如何入门Python爬虫,python爬虫入门需要哪些基础,python爬虫自学要多久。可以先从简单的开始,在熟悉了Python语法后,学习用 urllib 和 urllib2 爬虫,使用 BeautifulSoup 分析结

资讯

python3好书(python三本经典书籍都是什么)

阅读(17)

本文主要为您介绍python3好书,内容包括python三本经典书籍都是什么,学习python3都好的书,求本适合学习python3.2的书或者电子版资料。python三本经典书籍有:《深度学习入门:基于Python的理论与实现》,《Python高性能(第2版)》,《Python科学计算最

资讯

python判定整数(怎样用python判断整数)

阅读(15)

本文主要为您介绍python判定整数,内容包括python怎么判断一个数是整数,python判断一个数是不是整数,python判断一个数是不是整数。import typesif type(var) in [types.IntType,types.LongType]: bodyelse

资讯

python画仪表(如何使用Python在屏幕上作画)

阅读(13)

本文主要为您介绍python画仪表,内容包括如何用python绘制各种图形,如何用Python绘制Circos图,如何使用Python在屏幕上作画。from turtle import *def curvemove():for i in range(200):right(1)forw

资讯

python写入文件编码格式(python2.7.4怎么指定格式编码的文本)

阅读(12)

本文主要为您介绍python写入文件编码格式,内容包括python写文件怎么写gbk编码的文件,python2.7.4怎么指定格式编码的文本,python2.7.4怎么指定格式编码的文本。要写入的数据本身就是byte串(u中文是中文字符串,中文是byte串),用二进制方式打开就

资讯

python小数点保留1位(如何在Python中保留小数)

阅读(13)

本文主要为您介绍python小数点保留1位,内容包括如何在Python中保留小数,Python中小数点的问题,怎么放弃后面位数,只保留前面两位搜狗,python中保留几位小数进行四舍五入的round函数自身的源代码是什么。f = lambda x, n: round(x, n - len(