小编Jus*_*rey的帖子

MAC地址到二进制位转换

我想转换一个mac地址,

mac = '00:de:34:ef:2e:f4'  
Run Code Online (Sandbox Code Playgroud)

成二进制格式.我正在使用的程序是,

mac = '00:de:34:ef:2e:f4'
r = mac.replace(':', '').decode('hex')  
print r
Run Code Online (Sandbox Code Playgroud)

但是当我运行这个程序时,我得到一个奇怪的输出,输出是

$ A $

我究竟做错了什么?

python binary hex mac-address

2
推荐指数
1
解决办法
7347
查看次数

split()发生了错误

我有一个文本文件"luawrite",其中我将每行分成4列,我将第3列值除以(第3列值乘以8)与第4列值.文件luawrite看起来像这样:

0.012281001     00:1c:c4:c2:1f:fe       1441    44000000
0.012285001     00:1c:c4:c2:1f:fe       1441    44000000
0.012288001     00:1c:c4:c2:1f:fe       1441    44000000
0.012292001     00:1c:c4:c2:1f:fe       1441    44000000
0.012295001     00:1c:c4:c2:1f:fe       1441    44000000
0.012299001     00:1c:c4:c2:1f:fe       1441    44000000
0.012302001     00:1c:c4:c2:1f:fe       1441    44000000
Run Code Online (Sandbox Code Playgroud)

我为此编写的代码如下:

#!/usr/bin/python

import collections
result = collections.defaultdict(int)

with open("luawrite", "r") as f:
    for line in f:
            hashes = line.split()
            val1 = int(hashes[2])
            val2 = int(hashes[3])
            k = (val1*8)/val2
            print k  
Run Code Online (Sandbox Code Playgroud)

我正在使用python 2.6.但我得到的解决方案都是零.这段代码中的问题在哪里,请告诉我.这可能是一个小错误,但我无法找到它.谢谢!

python python-2.7

2
推荐指数
1
解决办法
87
查看次数

新实现与旧实现之间的区别

我是Fortran的新手.请看下面的代码:

c   main program
    call foo(2)
    print*, 2
    stop
    end
    subroutine foo(x)
        x = x + 1
        return
    end   
Run Code Online (Sandbox Code Playgroud)
  • 在Fortran IV的一些实现中,上面的代码将打印3.为什么?你能提出一个解释吗?
  • 您如何假设更新的Fortran实现解决了这个问题?

非常感谢帮助.谢谢.

fortran gfortran fortran77

2
推荐指数
1
解决办法
300
查看次数

这个复杂的声明的含义

考虑以下声明:

double(*foo(double (*)(double, double[]), double)) (double, ...)  
Run Code Online (Sandbox Code Playgroud)
  • 用英语描述foo的类型.

这是一个家庭作业问题.我的分析是:

"foo is a function pointer to a function that has as it's first argument, 
another function pointer to a function that returns a double and takes a 
double and an array of doubles."  
Run Code Online (Sandbox Code Playgroud)

这样对吗?任何人都可以用英语简化并指定正确/准确的表示吗?提前致谢!

c++ pointers return function

2
推荐指数
1
解决办法
409
查看次数

Globbing和Regex

我遇到了以下问题:

Does filename “globbing” provide the expressive power of standard regular 
expressions? Explain 

.

问题是,我知道什么是globbing,我知道正则表达式.但这种表现力是什么?我应该在什么基础上回答这个问题?我知道在globbing和regex中,"?" 和"*"结构的使用方式不同.我应该只提一下它们的用法差异吗?在维基百科中,正则表达式的表达能力是根据形式语言和自动机来给出的.解决方案是否复杂?提前致谢!

regex unix bash glob

2
推荐指数
2
解决办法
907
查看次数

\n附加在每行的末尾

我正在逐行写一行到外部文件.每行有9列,由制表符分隔符分隔.如果我拆分该文件中的每一行并输出最后一列,我可以看到\n被附加到9列的末尾.我的代码是:

#!/usr/bin/python

with open("temp", "r") as f:
    for lines in f:
        hashes = lines.split("\t")
        print hashes[8]  
Run Code Online (Sandbox Code Playgroud)

最后一列的值是整数,1或2.当我运行这个程序时,我得到的输出是,

['1\n']
['2\n']  
Run Code Online (Sandbox Code Playgroud)

我应该只得到1或2.为什么'\n'被附加在这里?

我尝试了以下检查来解决问题.

with open("temp", "r") as f:
    for lines in f:
            if lines != '\n':
                    hashes = lines.split("\t")
                    print hashes[8]  
Run Code Online (Sandbox Code Playgroud)

这也是行不通的.我试过了if lines != ' '.我怎么能让它消失?提前致谢.

python

1
推荐指数
1
解决办法
304
查看次数

Python中的动态语义错误

我把这看作是一个面试问题.这个问题似乎很有趣.所以,我在这里发帖.

考虑给出除以零之类的语义错误的操作.默认情况下,python编译器提供类似"无效操作"之类的输出.我们可以控制Python编译器给出的输出,比如打印一些其他错误消息,通过零操作跳过该除法,并继续执行其余的指令吗?
而且,我如何评估运行时语义检查的成本?这里有很多python专家.我希望有人会对此有所了解.提前致谢.

python compiler-construction semantics

1
推荐指数
1
解决办法
1009
查看次数

md5sum在linux和windows上有所不同

我面临着一个奇怪的问题.相同文本文件的md5sum在windows和linux上是不同的.我希望它是相同的,因为哈希是使用文件中存在的内容生成的,并且不依赖于操作系统.是否有任何具体原因发生这样的事情?sha1sum也一样吗?

linux windows debian linux-kernel

0
推荐指数
1
解决办法
4136
查看次数

按递减顺序对字典条目进行排序,并打印前n个条目

可能重复:
从有序字典中获取前N个密钥对到python中的另一个密钥对

我有一本大字典.如何按递减顺序对这些条目进行排序,然后打印前n个项目?要在字典中打印已排序的项目,我使用此代码:

print sorted(mydictionary.iteritems(), key=operator.itemgetter(1), reverse=True)  
Run Code Online (Sandbox Code Playgroud)

python python-2.7 python-3.x

0
推荐指数
1
解决办法
1660
查看次数

如何使用split()拆分单个单词

我有一个字样

fef2.  
Run Code Online (Sandbox Code Playgroud)

我只需要那个单词的"f2"(第3和第4个字符的连接).我如何从使用split分配的单词中提取它.当我看到拆分的功能时,它只有在有分隔符时才有效.如果单词中没有分隔符,如何拆分?

python

0
推荐指数
1
解决办法
151
查看次数

使用位移操作将两个变量相乘

我有两个变量(实际上是两个不同矩阵的元素).例如,我想成倍增加

a[i][k]*b[k][j]  
Run Code Online (Sandbox Code Playgroud)

使用位操作,我该怎么做.

我看到了对乘法常数的引用,而不是像3*2,3*4,3*8等变量.但是我如何将相同的技术应用于乘法变量呢?如果有关于此的帖子,你能指出我吗?谢谢!

c c++ unix bit-manipulation

0
推荐指数
1
解决办法
3023
查看次数

子串提取

我有一个以下格式的字符串:

00:aa:bb:cc:dd:ee  
Run Code Online (Sandbox Code Playgroud)

我需要将其拆分并仅输出前3个字段,即00:aa:bb.我在用

s.split(':')[1:3]  
Run Code Online (Sandbox Code Playgroud)

在我的计划中做这项工作,但它没有帮助.这是正确的方法吗?

python python-2.7 python-3.x

-3
推荐指数
1
解决办法
95
查看次数