python 读取文件、并以十六进制的方式写入到新文件
- #!/usr/bin/env python
- infile = file("in.mp3","rb")
- outfile = file("out.txt","wb")
- def main():
- while 1:
- c = infile.read(1)
- if not c:
- break
- outfile.write(hex(ord(c)))
- outfile.close()
- infile.close()
- if __name__ == '__main__':
- main()
下面是我自己改过的
- #coding:utf-8
- # 程序目标,读取1.bmp,然后以16进制方式写到txt文件
- def main():
- f = open("1.bmp","rb")
- outfile = open("out.txt","wb")
- i = 0
- while 1:
- c = f.read(1)
- i = i + 1
- if not c:
- break
- if i%32 == 0:
- outfile.write("\n")
- else:
- if ord(c) <= 15:
- outfile.write("0x0"+hex(ord(c))[2:]+" ")
- else:
- outfile.write(hex(ord(c))+" ")
- outfile.close()
- f.close()
- if __name__=="__main__":
- main()
效果如下:
当然,我需要的是真正的十六进制值。然后代码变成了这样
- #coding:utf-8
- # 程序目标,读取1.bmp,然后以16进制方式写到txt文件
- def main():
- f = open("1.bmp","rb")
- outfile = open("out.txt","wb")
- i = 0
- while 1:
- c = f.read(1)
- i = i + 1
- if not c:
- break
- if i%32 == 0:
- outfile.write("\n")
- else:
- if ord(c) <= 15:
- outfile.write(("0x0"+hex(ord(c))[2:])[2:]+" ")
- else:
- outfile.write((hex(ord(c)))[2:]+" ")
- outfile.close()
- f.close()
- if __name__=="__main__":
- main()
文件的数据变成了
python 读取文件、并以十六进制的方式写入到新文件的更多相关文章
- 文件的三种打开方式及with管理文件上下文
文件的三种打开方式及with管理文件上下文 一.文件的三种打开方式 1.1 只读 f = open(r'D:\pycharm\yjy\上海python学习\456.txt','r',encoding= ...
- 监控文件内容变化,即时写入到新文件(tail)
监控文件a,如有新内容写入,即时将新内容写入到新文件aa中: fw=open('e:\\aa.txt','ab') with open('e:\\a.txt','rb') as fo: while T ...
- 按行读取.txt文件,并按行写入到新文件中
package com.test.io; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.Fi ...
- python从命令窗口启动脚本 创建并写入内容到文件示例
写入到文件示例: #!/usr/bin/env python3 from math import exp, log, sqrt import re from datetime import date, ...
- [C/C++][文件操作] 对比目录并列出同名较新文件、较旧文件 0.1
主要是模仿robocopy的部分功能 (robocopy /L 参数可以列出本地目录和备份目录中的异同之处,主要是标记出:较新的.较旧的.多出的文件 ) 现在还不会写GUI,打算后面自己做目录树dif ...
- SparkStreaming python 读取kafka数据将结果输出到单个指定本地文件
# -*- coding: UTF-8 -*- #!/bin/env python3 # filename readFromKafkaStreamingGetLocation.py import IP ...
- python读取绝对路径的三种方式
import pandas as pd dood_inf0=pd.read_csv("C:\\Users\\Administrator\\Desktop\\food_info.csv&quo ...
- Node.js读取某个目录下的所有文件夹名字并将其写入到json文件
针对解决的问题是,有些时候我们需要读取某个文件并将其写入到对应的json文件(xml文件也行,不过目前用json很多,json是主流). 源码如下:index.js var fs = require( ...
- CMD批处理把txt文本中的每行写入一个新文件,第一列作文件名
需求 现在有一个文件格式如图 ID 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17001 89.84 8.87 1.29 -0.0 0.0 68.99 0.0 0. ...
随机推荐
- 函数式编程工具:filter和reduce
# -*- coding: utf-8 -*- #python 27 #xiaodeng #函数式编程工具:filter和reduce #python内置函数中,map函数是用来进行函数式编程这类工具 ...
- C语言printf
1.调用格式为 printf("<格式化字符串>", <参量表>); 其中格式化字符串包括两部分内容: 一部分是正常字符, 这些字符将按原样输出; 另一部 ...
- 【QRcode二维码】:使用JS前端插件QRcode.js生成二维码
1.先简单说一下jquery-qrcode,这个开源的三方库(可以从https://github.com/jeromeetienne/jquery-qrcode 获取), qrcode.js 是实现二 ...
- PHP关于进程池的优化
本文打算从另一个角度来讨论问题,教大家如何配置高效的环境,如此同样能够达到优化的目的. pool 一个让人沮丧的消息是绝大多数 PHP 程序员都忽视了池的价值.这里所说的池可不是指数据库连接池之类的东 ...
- PHP-线程安全与非线程安全版本的区别
Windows版的PHP从版本5.2.1开始有Thread Safe(线程安全)和None Thread Safe(NTS,非线程安全)之分,这两者不同在于何处?到底应该用哪种?这里做一个简单的介绍. ...
- window.postMessage实现网页间通信
window.postMessage() 方法可以安全地实现跨域通信.通常,对于两个不同页面的脚本,只有当执行它们的页面位于具有相同的协议(通常为https),端口号(443为https的默认值),以 ...
- sudo: Cannot execute /usr/local/bin/zsh: No such file or directory 问题
参考:sudo: Cannot execute /usr/local/bin/zsh: No such file or directory 之前在美化Ubuntu的时候,下了个zsh,但是忘记改配置文 ...
- VSCode调试Html中的脚本 vscode前端常用插件推荐,搭建JQuery、Vue等开发环境 vsCode 添加浏览器调试和js调试的方法总结 VS Code - Debugger for Chrome调试js
一.背景 使用Visual Studio Code写了一个简单的Html页面,想调试下其中script标签里的javascript代码,网上查了一通,基本都是复制粘贴或者大同小异的文章,就是要安装De ...
- win7 下jenkins配置与使用
一.Jenkins的配置 1. 下载地址: Jenkins的官方网站:http://jenkins-ci.org/ 目前最新版本的Windows版:http://mirror.xmission.com ...
- asp.net 在线解压缩文件类
using System; using System.Collections.Generic; using System.Text; using System.IO; using Microsoft. ...