小编Hou*_*ini的帖子

无法加载腌制对象

我遇到的问题是当我尝试加载pickle对象时.我尝试过使用两者pickle.loads,pickle.load结果如下:

pickle.loads - pickle.loads

pickle.load - pickle.load

有谁能告诉我在这个过程中我做错了什么?谢谢,这是我的代码:

elif str(parser) == 'SwissWithdrawn_Parser':
       # swissprot name changes
       print('Gathering SwissProt update info...')
       cache_hits = 0
       cache_misses = 0
       files = set()

       for f in os.listdir('out/cache/'):
           if os.path.isfile('out/cache/'+f):
               files.add(f)

       for name in sp_lost_names:

           cached = False
           url = 'http://www.uniprot.org/uniprot/?query=mnemonic%3a'+name+ \
               '+active%3ayes&format=tab&columns=entry%20name'
           hashed_url = str(hash(url))

           ################### For Testing Only - use cache ##################
           if hashed_url in files:
               cached = True
               cache_hits += 1
               content = pickle.loads('out/cache/' +hashed_url)  # …
Run Code Online (Sandbox Code Playgroud)

python pickle python-3.x

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

Scheme:返回另一个内部过程的过程

这是来自SICP的书,我相信很多人都熟悉这本书.这是本书的早期例子,但我觉得这是一个非常重要的概念,我无法理解.这里是:

(define (cons x y)
 (define (dispatch m)
   (cond ((= m 0) x)
         ((= m 1) y)
         (else (error "Argument not 0 or 1 - CONS" m))))
 dispatch)
(define (car z) (z 0))
(define (cdr z) (z 1))
Run Code Online (Sandbox Code Playgroud)

所以在这里我理解car并且cdr正在定义范围内cons,并且我得到它们分别将一些参数映射z到1和0(参数z是一些cons).但是我说我打电话(cons 3 4)......当我们立即进入这个内部过程dispatch并且m我们还没有指定一些参数时,如何评估参数3和4 ?而且,更重要的是,返回的重点是dispatch什么?我根本没有真正得到那个部分.任何帮助表示赞赏,谢谢!

lisp scheme functional-programming sicp

18
推荐指数
3
解决办法
4000
查看次数

使用Github README.md上的相对路径进行链接

我试图在我的README.md中创建链接,使用相对路径链接到示例代码,而不是我现在使用的绝对路径.例如,在markdown文件中,如果我使用它:

[someLabel](https://github.com/username/repoName/somePathTo/myExampleCode)
Run Code Online (Sandbox Code Playgroud)

它没有问题.但是我想用这样的东西把它连接起来:

[someLabel](username/repoName/somePathTo/myExampleCode)
Run Code Online (Sandbox Code Playgroud)

这没有链接,因为它给了我'找不到404错误.有没有办法使用相对路径将我在Github上的示例链接到我的README?

markdown github relative-path absolute-path

16
推荐指数
3
解决办法
8880
查看次数

emacs突出显示80岁以上的角色?

我在这里看到了一些解决方案,如果它超过80个字符,它将突出显示整行,并且line-wrap一旦该行变得大于80,还要做一次.我想要做的是编辑我的.emacs文件,以便任何超过80的字符具有不同的背景.因此前80个字符将具有我当前的emacs背景,然后字符> 80将具有黑色背景说.有人能指出我正确的方向吗?谢谢!

emacs

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

我怎么能告诉Emacs我的git分支已经改变了?

在我的Emacs 23编辑器的底部,我注意到Emacs知道我在一个受版本控制的目录中工作,该版本控制系统是什么,以及我目前在哪个分支.太酷了!但是说我在主分支上,从命令行我做了一个git commit,接着是一个git checkout <branch>.Emacs仍然显示我在主分支上.如何刷新Emacs以便它反映我当前所在的分支而不关闭所有缓冲区并重新启动它?

git emacs version-control dvcs

13
推荐指数
3
解决办法
2248
查看次数

解压缩并移动下载的文件 - Linux

令人惊讶的是,我还没有在这里找到这个问题的直截了当的答案.我还在学习Linux.假设我已经将zip文件下载到我的下载文件夹中.现在,我想将它移动到受保护的文件夹,例如/ opts或/ var.是否有一个很好的命令都sudo moveunzip文件的地方,我需要它去?

linux ubuntu command-line

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

Python - 在 Lambda 中使用打印/调试语句

filter在 Python3 中使用了一个 lambda 函数。这是我的功能:

affy_reader = csv.DictReader(filter(lambda row:
                                    not row[0].startswith('#') and
                                    str(row[0]).isdigit(),
                                    file_pointer), 
                             delimiter='\t',
                             fieldnames=affy_column_headers)
Run Code Online (Sandbox Code Playgroud)

有没有办法可以row在这个 lambda 函数中打印 的值?我想我需要这样做,因为row仅在 lambda 范围内。例如,如果这是一个 LISP Lambda 程序,我相信我可以做这样的事情:

affy_reader = csv.DictReader(filter(lambda row: print(row) 
                                    not row[0].startswith('#') and
                                    str(row[0]).isdigit(),
                                    file_pointer), 
                             delimiter='\t',
                             fieldnames=affy_column_headers)
Run Code Online (Sandbox Code Playgroud)

因为print()是在线读取和执行的。Python中有什么方法可以做到这一点吗?或者如果没有,我看到这个值的好方法是什么?谢谢!

*我意识到我的“LISP”示例是 Python 而不是 LISP。我只是想进一步说明我正在尝试做什么。

python lambda filter

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

什么'***最旧的帧'在ipdb中意味着什么?

我试图向服务器发出http请求并检查我得到的内容.但是,当我尝试使用HTTPResponse objectwith ipdb,我不断得到*** Oldest frame而且我无法运行我应该能够运行的对象上的任何函数.这是用于获取的代码块和ipdb输出:

代码块:

for acc in sp_lost:
    url = 'http://www.uniprot.org/uniprot/?query=mnemonic%3a'+acc+'+active%3ayes&format=tab&columns=entry%20name'
    u = urllib.request.urlopen(url)
    ipdb.set_trace()
Run Code Online (Sandbox Code Playgroud)

ipdb输出:

ipdb> url
'http://www.uniprot.org/uniprot/?query=mnemonic%3aSPATL_MOUSE+active%3ayes&format=tab&columns=entry%20name'
ipdb> u
*** Oldest frame
ipdb> str(u)
'<http.client.HTTPResponse object at 0xe58e2d0>'
ipdb> type(u)
<class 'http.client.HTTPResponse'>
ipdb> u.url                      
*** Oldest frame
ipdb> u.url()         # <-- unable to run url() on object...?
*** Oldest frame
ipdb> 
Run Code Online (Sandbox Code Playgroud)

这是什么*** Oldest frame意思,我怎样才能将这个对象变成更有用的东西,我可以运行相应的函数?

python python-3.x pdb ipdb

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

如何将某个对象"挑选"到某个目录?

通常,执行以下代码会将对象pickle到我的current目录中的文件:

fp = open('somefile.txt', 'wb')
pickle.dump(object, fp)
Run Code Online (Sandbox Code Playgroud)

如何将输出重定向pickle.dump到其他目录?

python pickle python-3.x

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

为 Python 3 安装 ipdb?

我使用安装了ipdbpip,但我仍然得到

ImportError: No module named ipdb.

我是否必须做其他事情才能引入这个模块?当然,我import ipdb也在我的文件的顶部。我的想法是:我安装了 Python 2.7 和 Python 3。Pip 安装ipdb到 Python 2.7 目录,但我正在运行的 Python 模块使用的是 Python 3。我认为这是问题所在,但我该如何解决它,以便ipdb可以与我的 Python 3 模块一起使用?谢谢!

python python-2.7 python-3.x ipdb

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