python ip整数与字符串转换

import socket,struct,sys,getopt,string

def doAnalysis(ifile, ofile):
    infile = open(ifile, ‘r‘)
    onfile = open(ofile, ‘w‘)
    for line in infile.readlines():
        info = line.split(‘\t‘)
        if len(info) >= 2:
            info[1] = socket.inet_ntoa(struct.pack(‘I‘, socket.htonl(string.atoi(info[1]))))
            onfile.write("%s\t%s\n"%(info[0], info[1]))
    infile.close()
    onfile.close()

if __name__ == ‘__main__‘:
    opts, args = getopt.getopt(sys.argv[1:], "i:o:")
    infile = ""
    ofile = ""
    for op, value in opts:
        if op == "-i":
            infile = value
        if op == "-o":
            ofile = value
    if infile == "" or ofile == "":
        print ‘input infile and ofile !!!!!‘
        sys.exit()
    else:
        doAnalysis(infile, ofile)
时间: 2024-10-06 05:03:15

python ip整数与字符串转换的相关文章

Java整数和字符串转换

字符串转换整数: 虽然有类似的Integer.parseInt(),但是笔试面试明显不会如此: 转字符串可以考虑为: 1.单个字符的转换 2.权值 如:从前往后依次扫描,则每次扫描一个字符  前面数值*10: 如345,扫描3,再3*10+4,再34*10+5............ 从后往前扫描类似处理: class ParsInt{ public static void main(String[] args) { // TODO, add your application code Syst

python实现DNA序列字符串转换,互补链,反向链,反向互补链

在生物信息学分析中,经常对DNA序列进行一系列操作,包括子序列截取,互补序列获取,反向序列获取,反向互补序列获取.在python语言中,可编写如下函数完成这些简单功能. 子序列截取 python中对序列截取使用字符串切片功能就可以完成,例如: >>> seq="ATGATATAGtatatatgCAAGAGg" >>> subseq = seq[1:6] >>> subseq "TGATA" 注意,切片操作是“0

Python—IP地址与整数之间的转换

1. 将整数转换成IP: 思路:将IP地址转换成无符号32位的二进制,再8位进行分割,每8位转换成十进制即可. #!usr/bin/python 2 #encoding=utf-8 3 #1. 将整数转换成32位无符号二进制 4 def intToIp(num): 5 s = [] 6 g = [] 7 h = [] 8 for i in range(32): 9 a = num%2 10 s.insert(0,a) 11 num = num/2 12 print s 13 #2. 每8位进行分

ip(点分十进制 <==> 二进制整数)之间的转换

linux的套接字部分比较容易混乱,在这里稍微总结一下. 地址转换函数在地址的文本表达式和它们存放在套接字地址结构中的二进制值进行转换. 地址转换函数有四个:其中inet_addr 和 inet_ntoa适用于IPv4,inet_pton 和 inet_ntop同时适于用IPv4和IPv6. 套接字地址结构分为IPv4套接字地址结构sockaddr_in和IPv6套接字地址结构sockaddr_in6.其中IPv4的套接字地址结构如下. IPv4套接字地址结构:(定义在<netinet/in.h

整数与IP地址间的转换

描述 原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成一个长整数.举例:一个ip地址为10.0.3.193每段数字             相对应的二进制数10                   000010100                    000000003                    00000011193                  11000001组合起来即为:00001010 00000000

[VC] IP地址的字符串形式与整数互换

IPV6出现之后,在windows平台,最好是用随IPV6而出的新函数实现IP地址的字符串形式与整数互换.这些新函数是InetPton和InetNtop. 1  InetPton() 作用:该函数实现字符串到整数的转换. 原型:INT InetPton(INT Family, PCWST pszAddrString,  PVOID pAddrBuf); 参数:family参数既可以是AF_INET(ipv4)也可以是AF_INET6(ipv6).如果,以不被支持的地址族作为family参数,这个

剑指offer之【把字符串转换成整数】

题目: 把字符串转换成整数 链接: https://www.nowcoder.com/practice/1277c681251b4372bdef344468e4f26e?tpId=13&tqId=11202&rp=3&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking 题目描述: 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数. 数值为0或者字符串不是一个合法的数值则返回0

数组-08. 字符串转换成十进制整数(15)

1 #include<iostream> 2 #include<string> 3 using namespace std; 4 int main(){ 5 string s; 6 int i,sum=0; 7 bool flag=false,f=false; 8 getline(cin,s); 9 for(i=0;s[i]!='#';++i){ 10 if(s[i]=='-'&&!flag) 11 f=true; 12 else if(s[i]<='9'&a

数组-08. 字符串转换成十进制整数

数组-08. 字符串转换成十进制整数(15) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 张彤彧(浙江大学) 输入一个以#结束的字符串,本题要求滤去所有的非十六进制字符(不分大小写),组成一个新的表示十六进制数字的字符串,然后将其转换为十进制数后输出.如果过滤后字符串的首字符为“-”,代表该数是负数. 输入格式: 输入在一行中给出一个以#结束的非空字符串. 输出格式: 在一行中输出转换后的十进制数.题目保证输出在长整型范围内.