小编Mat*_*ams的帖子

local(file://)网站favicon适用于Firefox,而不适用于Chrome或Safari-为什么?

问题

当我的网站是本地的(使用file://协议)时,favicon不会显示在Chrome或Safari中,但它可以在Firefox中运行(全部在Mac上).但是,当实际托管完全相同的站点时,favicon在我尝试的所有浏览器中都能正常工作.为什么webkit浏览器不显示本地favicon?

细节

favicon.ico文件与index.html页面位于同一目录中.我使用以下代码,虽然我尝试了几种变体:

   <link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
Run Code Online (Sandbox Code Playgroud)

由于favicon在访问时起作用http://,我怀疑我包含它的方式有问题,但你永远不知道......

更新

我发现了一些论坛帖子(没什么太官方的)表明这是设计的,但没有一个给出理由.此外,听起来有些版本的IE有同样的问题.当地的餐馆有安全隐患吗?(例如,我知道某些浏览器存在本地cookie问题.)

免责声明:似乎有类似的问题,但我还没有找到这个问题.(事实上​​我和这个问题的问题基本相同,但没有一个答案适合我.)

html favicon webkit google-chrome cross-browser

30
推荐指数
3
解决办法
4万
查看次数

将每个列表值映射到其对应的百分位数

我想创建一个函数,它将(有序)列表作为其参数,并输出一个包含每个元素的相应百分位数的列表.

例如,fn([1,2,3,4,17])退货[0.0, 0.25, 0.50, 0.75, 1.00].

任何人都可以请:

  1. 帮我纠正下面的代码?要么
  2. 提供比我的代码更好的替代方案,用于将列表中的值映射到相应的百分位数?

我目前的代码:

def median(mylist):
    length = len(mylist)
    if not length % 2:
        return (mylist[length / 2] + mylist[length / 2 - 1]) / 2.0
    return mylist[length / 2]

###############################################################################
# PERCENTILE FUNCTION
###############################################################################

def percentile(x):
    """
    Find the correspoding percentile of each value relative to a list of values.
    where x is the list of values
    Input list should already be sorted!
    """

    # sort the input list …
Run Code Online (Sandbox Code Playgroud)

python numpy scipy median percentile

23
推荐指数
4
解决办法
2万
查看次数

比较两个词典的关键值和返回值如果匹配

我是Python的初学者,但我一直在尝试这种语法,我无法弄明白 - 这真是令人费解.

crucial = {'eggs': '','ham': '','cheese': ''}
dishes = {'eggs': 2, 'sausage': 1, 'bacon': 1, 'spam': 500}

if crucial.keys() in dishes.keys():
    print dishes[value]
Run Code Online (Sandbox Code Playgroud)

我想要做的是 - 如果关键在盘子里有一把钥匙(在这种情况下eggs),它会回来2.这看起来很简单,但我相信我必须在某处弄乱某种类型的语法.如果有人可以指导我一点,那将非常感激.

我正在比较的真实词典大约有150个键,但我希望这段代码足够简单.

python dictionary

13
推荐指数
2
解决办法
6万
查看次数

记录 python 子进程的语法错误和未捕获的异常并将其打印到终端

问题

我一直在尝试编写一个程序来记录子进程的未捕获异常和语法错误。容易,对吧?只需将管道输送stderr到正确的位置即可。

然而,子进程是另一个 python 程序——我称之为test.py——需要运行,就好像它的输出/错误没有被捕获一样。也就是说,运行记录器程序需要看起来就像用户刚刚python test.py正常运行一样。

使问题进一步复杂化的是如果不使用则实际发送到的问题不幸的是,我不能,因为我无法控制使用错误记录器运行的文件。raw_inputstderrreadlineimport readline

笔记:

  • 我对运行这段代码的机器有相当的限制。我无法安装pexpect或编辑这些*customize.py文件(因为该程序将由许多不同的用户运行)。我真的觉得无论如何应该有一个 stdlib 解决方案......
  • 这仅适用于 Macs。
  • 这样做的动机是我是研究新程序员所犯错误的团队的一员。

我尝试过的

我尝试过以下方法,但没有成功:

  • 只是使用tee问题中的如何在使用带有管道的“tee”时将 stderr 写入文件?(未能产生raw_input提示);我在几个 SO 问题中发现的python 实现也tee有类似的问题
  • 覆盖sys.excepthook(无法使其适用于子进程)
  • 这个问题的最佳答案似乎很有希望,但它未能raw_input正确显示提示。
  • 日志记录模块似乎对于实际写入日志文件很有用,但似乎没有解决问题的关键
  • 自定义 stderr 阅读器
  • 无休止的谷歌搜索

python subprocess stderr

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

python使用百分号 - 似乎不是模数或字符串格式

%当python不是模数或字符串格式化时,符号在python中意味着什么?我在timeit模块中这个令人困惑的代码块中遇到了它:

# Don't change the indentation of the template; the reindent() calls
# in Timer.__init__() depend on setup being indented 4 spaces and stmt
# being indented 8 spaces.
template = """
def inner(_it, _timer):
    %(setup)s
    _t0 = _timer()
    for _i in _it:
        %(stmt)s
    _t1 = _timer()
    return _t1 - _t0
"""

def reindent(src, indent):
    """Helper to reindent a multi-line statement."""
    return src.replace("\n", "\n" + " "*indent)
Run Code Online (Sandbox Code Playgroud)

我搜索谷歌和SO这个运营商是什么,但没有运气.我使用的是python 2.6.1.

python

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

给定一个"混乱"列表L,得到一个列表,其中每个元素是L的相应元素的索引,如果L被排序

期望的输出

我想要一个函数返回一个列表,这样,给定一个"混乱"列表l,每个元素是相应元素的索引l,如果l被排序.(我没有想到一种不太复杂的说法,对不起.)

例子

f([3,1,2]) = [2,0,1]

f([3,1,2,2,3])= [3,0,1,2,4],因为输入已排序[1,2,2,3,3].

(这对某些统计数据计算很有用.)

我的尝试

我想出了一种方法来做这个功能,但这是python - 似乎应该有一个单行来做这个,或者至少是一个更清洁,更清晰的方式.

def getIndiciesInSorted(l):
    sortedL = sorted(l)
    outputList = []
    for num in l:
        sortedIndex = sortedL.index(num)
        outputList.append(sortedIndex)
        sortedL[sortedIndex] = None
    return outputList

l=[3,1,2,2,3] 
print getIndiciesInSorted(l)
Run Code Online (Sandbox Code Playgroud)

那么,我怎样才能更简洁地写出来呢?有清晰易读的清单解决方案吗?

python

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

git仅当以root用户身份登录时才拒绝密码

摘要

出于某些原因,当我以root用户身份登录时,git命令无法正常工作。例如,当我以普通用户身份登录时,可以克隆存储库,但不能将同一存储库克隆为与root用户相同的目录。

普通用户:

> git clone git@192.168.1.103:testing
Cloning into 'testing'...
Enter passphrase for key '/home/Matthew/.ssh/id_rsa': 
remote: Counting objects: 6, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 6 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (6/6), done.
Run Code Online (Sandbox Code Playgroud)

(然后我开始扎根并删除存储库...)

根:

# git clone git@192.168.1.103:testing
Cloning into 'testing'...
Password:
Password:
Password:
Permission denied (publickey,keyboard-interactive).
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)

我的故障排除尝试

起初,我认为这是与ssh相关的某种问题,但是从各种可能的方式进行ssh-ing似乎都可以正常工作。(我没有更改设置以使您能够通过ssh以root身份直接登录。)

设置细节

  • 我已经为根用户和其他用户生成了ssh密钥。
  • 我试图将存储库克隆到的机器正在运行FreeBSD 9(我刚刚安装它-试图了解* nix,托管,系统管理员等)。
  • git服务器在mac上是gitolite(我使用它已有一段时间了,没有问题)

结论

我感觉这对于拥有更多* nix / git印章的人来说将是显而易见的,但是到目前为止,我仍未能弄清/找到互联网上的答案。谢谢你的帮助!

git ssh freebsd

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

Python意外的indentaton错误main()

我不知道如何解决这个问题.我试过重新输入程序.

我的最后一个主函数出现了意外的缩进错误.

resident = 81
nonresident = 162


def main():

    # initialize counters and total tuition
    resident_counter = 0
    nonresident_counter = 0
    total_tuition = 0

    print("Name \tCode\tCredits\tTuition")
    print

    try:
        # open the data file
        infile = open('enroll.txt', 'r')

        # read the first value from the file
        student_name = infile.readline()

        # continue reading from file until the end
        while student_name != '':

            # strip the new line character and print the student's name
            student_name = student_name.rstrip('\n')
            print(student_name, end='\t')

            # read the …
Run Code Online (Sandbox Code Playgroud)

python python-3.x

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

Python 3改变for循环中字典键的值不起作用

我有python 3代码不能按预期工作:

def addFunc(x,y):
    print (x+y)

def subABC(x,y,z):
    print (x-y-z)

def doublePower(base,exp):
    print(2*base**exp)

def  RootFunc(inputDict):
    for k,v in inputDict.items():
        if v[0]==1:
            d[k] = addFunc(*v[1:])
        elif v[0] ==2:
            d[k] = subABC(*v[1:])
        elif  v[0]==3:
            d[k] = doublePower(*v[1:])


d={"s1_7":[1,5,2],"d1_6":[2,12,3,3],"e1_3200":[3,40,2],"s2_13":[1,6,7],"d2_30":[2,42,2,10]}
RootFunc(d)

#test to make sure key var assignment works
print(d)
Run Code Online (Sandbox Code Playgroud)

我明白了:

{'d2_30': None, 's2_13': None, 's1_7': None, 'e1_3200': None, 'd1_6': None}
Run Code Online (Sandbox Code Playgroud)

我期望:

{'d2_30': 30, 's2_13': 13, 's1_7': 7, 'e1_3200': 3200, 'd1_6': 6}
Run Code Online (Sandbox Code Playgroud)

怎么了?

半相关:我知道字典是无序的,但有什么理由为什么python选择了这个命令?它是通过随机数发生器运行的吗?

python dictionary for-loop key-value python-3.x

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

Python预计会出现缩进块错误

我刚开始学习python.在我第一次遇到python时,我遇到了问题.我正在学习定义一个函数.在一个简单的命令中,我得到一个预期的缩进块错误.请指教.我正在使用这种语法

>>>def hello():
...print "Hello"
Run Code Online (Sandbox Code Playgroud)

但是当我在"Hello"之后按下回车键时,我得到预期的缩进块错误实际上我必须将此函数定义如下

>>> def hello():
print "Hello"
print "Computers are Fun"
Run Code Online (Sandbox Code Playgroud)

但我无处可去.请帮助我做错了什么

python

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

Python - 在Control + C上杀死多个线程

我究竟做错了什么 ?

我只需要杀死Control + C上的两个线程.

def cleanup_stop_thread():
    for thread in enumerate():
        if thread.isAlive():
            try:
                self._Thread__stop()
            except:
                print(str(thread.getName()) + ' could not be terminated')

if __name__ == '__main__':  
    try:
        threading.Thread(target = record).start()
        threading.Thread(target = ftp).start()
    except (KeyboardInterrupt, SystemExit):
        cleanup_stop_thread();
        sys.exit()
Run Code Online (Sandbox Code Playgroud)

python

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

如何在python中更改列表字典中的值

我有这样的字典

dict1 = [('var1','aa'),('var2','bb')('var3','cc')]

我有另一本字典

dict2 = [('var2','22'),('var3','33'),('var5','23'),('var6','33'),('var7','23')]

我想要做的是我dict2用dict1中的varibels 替换内容

我的意思是最终的dict3 = dict2 = [('var2','bb'),('var3','cc'),('var5','23'),('var6','33'),('var7','23')]

python

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