小编jb.*_*jb.的帖子

使用pickle.dump - TypeError:必须是str,而不是bytes

我正在使用python3.3并且在尝试挑选一个简单的字典时遇到了一个神秘的错误.

这是代码:

import os
import pickle
from pickle import *
os.chdir('c:/Python26/progfiles/')

def storvars(vdict):      
    f = open('varstor.txt','w')
    pickle.dump(vdict,f,)
    f.close()
    return

mydict = {'name':'john','gender':'male','age':'45'}
storvars(mydict)
Run Code Online (Sandbox Code Playgroud)

我得到:

Traceback (most recent call last):
  File "C:/Python26/test18.py", line 31, in <module>
    storvars(mydict)
  File "C:/Python26/test18.py", line 14, in storvars
    pickle.dump(vdict,f,)
TypeError: must be str, not bytes
Run Code Online (Sandbox Code Playgroud)

python pickle python-3.x

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

Pythonic方法添加datetime.date和datetime.time对象

我有两个对象代表相同的事件实例 - 一个持有日期,另一个持有此事件的时间,我想创建一个datetime对象.

由于不能简单地添加日期和时间对象(跟随调用失败):

 datetime.date(2011, 01, 01) + datetime.time(10, 23)
Run Code Online (Sandbox Code Playgroud)

python datetime

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

如何更改Google地图标记的颜色?

我正在使用Google Maps API构建一个充满标记的地图,但我想要一个标记与其他标记脱颖而出.我认为最简单的做法是将标记的颜色改为蓝色,而不是红色.这是一件简单的事情,还是我必须以某种方式创建一个全新的图标?如果我必须创建一个新图标,最简单的方法是什么?

google-maps google-maps-api-2

164
推荐指数
7
解决办法
42万
查看次数

无法通过Virtualenv与pip安装

以下是我运行时遇到的错误pip:

serkan$ rm -r mysite
serkan$ pwd
/Users/serkan/Desktop/Python Folder
serkan$ virtualenv mysite 
New python executable in mysite/bin/python
Installing setuptools............done.
Installing pip...............done.
serkan$ source mysite/bin/activate
(mysite)serkan$ pip install pinax
-bash: /Users/serkan/Desktop/Python Folder/mysite/bin/pip: "/Users/serkan/Desktop/Python: bad interpreter: No such file or directory
(mysite)serkan$ python pip install pinax
python: can't open file 'pip': [Errno 2] No such file or directory
(mysite)serkan$ python pip install Pinax
python: can't open file 'pip': [Errno 2] No such file or directory
(mysite)serkan$ python pip install Pinax …
Run Code Online (Sandbox Code Playgroud)

python pip

62
推荐指数
4
解决办法
5万
查看次数

连接关闭时ResultSet未关闭?

我一直在对我们的宠物项目之一进行代码审查(主要使用像FindBugs这样的工具),FindBugs将以下代码标记为错误(伪代码):

Connection conn = dataSource.getConnection();

try{
    PreparedStatement stmt = conn.prepareStatement();
    //initialize the statement
    stmt.execute();
    ResultSet rs =  stmt.getResultSet();
    //get data
}finally{
    conn.close();
}
Run Code Online (Sandbox Code Playgroud)

错误是此代码可能不会释放资源.我发现ResultSet和Statement没有关闭,所以我最后关闭了它们:

finally{
    try{
        rs.close()
    }catch(SqlException se){
        //log it
    }
    try{
        stmt.close();
    }catch(SqlException se){
        //log it
    }
    conn.close();
}
Run Code Online (Sandbox Code Playgroud)

但是我在很多项目中遇到过上述模式(来自不少公司),没有人关闭ResultSet或Statements.

在Connection关闭时,您是否遇到没有关闭ResultSet和Statements的麻烦?

我发现只有这个,它指的是Oracle在关闭Connections时关闭ResultSet的问题(我们使用Oracle db,因此我的更正).java.sql.api在Connection.close()javadoc中什么也没说.

java findbugs jdbc

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

如何在numpy数组上执行元素明智的布尔运算

例如,我想创建一个掩盖值为40到60之间的元素的掩码:

foo = np.asanyarray(range(100))
mask = (foo < 40).__or__(foo > 60)
Run Code Online (Sandbox Code Playgroud)

哪个看起来很难看,我写不出来:

(foo < 40) or (foo > 60)
Run Code Online (Sandbox Code Playgroud)

因为我最终得到:

  ValueError Traceback (most recent call last)
  ...
  ----> 1 (foo < 40) or (foo > 60)
  ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
Run Code Online (Sandbox Code Playgroud)

是否有规范的方法在具有良好外观的代码的numpy数组上进行元素明智的布尔运算?

python numpy boolean-operations

47
推荐指数
4
解决办法
6万
查看次数

Matplotlib中的非ASCII字符

我在Matplotlib中显示非ASCII字符时出现问题,这些字符呈现为小方块而不是正确的字体,它看起来像(我用红色涂料填充这些框以高亮显示它们):

这是显示问题的图像

我如何解决它?

相关问题是Matplotlib中的重音字符.

python unicode ascii matplotlib

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

如何使openvpn与docker一起工作

我最近安装了隐私vpn,事实证明启用openvpn打破了docker.

当我尝试运行时,docker-compose up我得到以下错误

ERROR: could not find an available, non-overlapping IPv4 address pool among the defaults to assign to the network
Run Code Online (Sandbox Code Playgroud)

禁用vpn可以解决问题(但我不想禁用它).有没有办法让这两个和平共处?我使用debian jessie,我的openvpn有以下版本字符串

 OpenVPN 2.3.4 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [PKCS11] [MH] [IPv6] built on Jun 26 2017
Run Code Online (Sandbox Code Playgroud)

很多人通过禁用openvpn"解决"了这个问题,所以我特别要求如何让这两个工作同时工作.

参考文献:

  1. /sf/answers/3176414601/
  2. /sf/answers/2974957541/

如果这有什么不同,我的VPN提供商是:https://www.ovpn.com/,这里是(有些编辑)配置文件:

client
dev tun

proto udp

remote host port
remote-random

mute-replay-warnings
replay-window 256

push "dhcp-option DNS 46.227.67.134"    
push "dhcp-option DNS 192.165.9.158"

remote-cert-tls server
cipher aes-256-cbc
pull

nobind
reneg-sec 432000
resolv-retry infinite

comp-lzo …
Run Code Online (Sandbox Code Playgroud)

debian openvpn docker docker-networking

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

PyCharm:强制Django模板语法Highligting

我刚刚安装了PyCharm,并打开了一个包含多个应用程序的现有项目.当我打开django模板时,它们会突出显示,就像纯HTML一样,即{% block %}元素和{{variable}}引用没有被特别处理.

有什么办法可以强制它为这些文件使用django模板语法高亮显示器吗?或者我做错了什么?

该项目配置为django项目.

python django pycharm

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

如何在Action Bar Sherlock中实现搜索小部件?

我试图让搜索框在Action Bar Sherlock上运行.

这是我的PreLocationActivity:

    @ContentView(R.layout.search)
    public class PreLocationActivity extends RoboSherlockActivity {

        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            //setContentView(R.layout.map_layout);
        } 

        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            //Used to put dark icons on light action bar
             menu.add("Search")
             .setIcon(R.drawable.ic_search_inverse)
             .setActionView(R.layout.collapsible_edittext)
             .setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
                return true;
        }

        @Override
        public boolean onSearchRequested() {
            return super.onSearchRequested();
        }
    }
Run Code Online (Sandbox Code Playgroud)

这是我的SearchableActivity:

@ContentView(R.layout.search)
public class SearchableActivity extends RoboSherlockFragmentActivity {

    @InjectView(R.id.addressListView) ListView addressView;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // Get the intent, verify the …
Run Code Online (Sandbox Code Playgroud)

android actionbarsherlock

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