python 判断是否有非法字符 简书

#!/usr/bin/python

# -*- coding:utf8 -*-

import binascii

import sys

import os

#定义文件,并检测多个文件

FILE_PATH = '/Users/wj6/TH'+‘’

#把文件不同的部分做一个字典,方便检测多个文件,减少重复代码

m = {

'a':{'file_name':'_a.txt'}

'b':{'file_name':'_b.txt'}

}

#遍历文件

for file_info in m:

fd = open(FILE_PATH + pid[file_info][file_name])

file_b = fd.read()

fd.close()

#做一个标记默认为0

#binascii.b2a_hex()函数换成ascii形式

#程序首先运行else段,遇到回车标记改为1,运行if语句,进行判断是否回车换行在一起。

flag=0

for s in file_b:

asc = binascii.b2a_hex(s)

if flag==1:

if asc=='0a'

flag=0

else:

print "error,only 0d",pid[file_info][file_name]

break;

else:

if asc == '0a':

print "error,only 0a",pid[file_info][file_name]

break

if asc=='20':

print "error,only 20",pid[file_info]['file_name']

break

if asc=='22':

print "error,only 22",pid[file_info]['file_name']

break

if asc=='0d':

flag=1

⑵ 用python语言 如何将test1.txt中一串数字进行crc校验存入test2.txt中

给你写几个。这个本来很简单的。

importbinascii
importstruct,ctypes
fp1=open('test1.txt','rb')
fp2=open('test2.txt','wb')
c=fp1.read(1)
crc=binascii.crc32(c)
whileTrue:
fp2.write(c)
c=fp1.read(1)
ifnotc:break
crc=binascii.crc32("world",crc)&0xffffffff
fp2.write(struct.pack('l'crc))
fp2.close()
fp1.close()
没有验证过是否正确,仅供参考。

⑶ 急~~~~~~~~python关于ascii及进制转换问题,单个字母或符号转化成二进制或八进制数字,偶是菜鸟~

不太直观了点
def converter(char, m):
s = eval("%s(ord('%s'))" % (m.lower(), char))
if 'b' in s:
return 'Bin: %s' % (''.join(('%08s' % s.replace('b', '0'))[-8:]))

return 'Oct: %s' % s

⑷ python学习之如何检测非法字符

#!/usr/bin/python

# -*- coding:utf8 -*-

import binascii

import sys

import os

#定义文件,并检测多个文件

FILE_PATH = '/Users/wj6/TH'+‘001’

#把文件不同的部分做一个字典,方便检测多个文件,减少重复代码。

m = {

'a':{'file_name':'_a.txt'}

'b':{'file_name':'_b.txt'}

}

#遍历文件

for file_info in m:

fd = open(FILE_PATH + pid[file_info][file_name])

file_b = fd.read()

fd.close()

#做一个标记默认为0

#binascii.b2a_hex()函数换成ascii形式

#程序首先运行else段,遇到回车标记改为1,运行if语句,进行判断是否回车换行在一起。

flag=0

for s in file_b:

asc = binascii.b2a_hex(s)

if flag==1:

if asc=='0a'

flag=0

else:

print "error,only 0d",pid[file_info][file_name]

break;

else:

if asc == '0a':

print "error,only 0a",pid[file_info][file_name]

break

if asc=='20':

print "error,only 20",pid[file_info]['file_name']

break

if asc=='22':

print "error,only 22",pid[file_info]['file_name']

break

if asc=='0d':

flag=1

⑸ 遇到binascii.Error: Incorrect padding 怎么办 python

s不符合base64的padding规则。“当原数据长度不是3的整数倍时, 如果最后剩下两个输入数据,在编码结果后加1个“=”;如果最后剩下一个输入数据,编码结果后加2个“=”;如果没有剩下任何数据,就什么都不要加,这样才可以保证资料还原的正确性。”(引自维基base64中文条目)

当然,这可能是由于s数据不完整或有其他字符串混入导致的。

wiki:http://en.wikipedia.org/wiki/Base64

⑹ python读取图片中的数据再用二进制做位运算后写入文件

先把字符串转换成整数,num=int(string)
然后把十进制转换为二进回制,答num_1 = bin(num)
做完运算以后把二进制转换为十进制,num = int(num_1, 2)
最后转换回字符串,string = str(num)
变量名字自己起一个就好

⑺ python中怎么将一个二进制变成字符

用binascii模块:
>>> import binascii
>>> binascii.a2b_hex('abcd')
'\xab\xcd'
>>> binascii.a2b_hex("a16203")
'\xa1b\x03'
>>> binascii.b2a_hex('\xa1b\x03')
'a16203'
>>>

⑻ Python中读取二进制图片(例如 a.jpg)有关解码编码的问题

binascii.hexlify估计能抄满足你的要求。不过袭不建议把二进制数据用编解码来处理,因为编解码只是文本采用了不同的编码方案。而图像这些二进制有自己的含义,文本编解码方案不应该用在这些二进制文件上。s就是你的数据,你也别想看懂,除非你知道jpg格式。