Questions tagged «python»

Python是一种多范式,动态类型的多用途编程语言。它旨在快速学习,理解和使用并强制使用干净统一的语法。请注意,Python 2自2020年1月1日起已不再受支持。不过,对于特定于版本的Python问题,请添加[python-2.7]或[python-3.x]标签。使用Python变体或库(例如Jython,PyPy,Pandas,Numpy)时,请将其包含在标签中。

6
在Python中将没有BOM的UTF-8转换为带有BOM的UTF-8
这里有两个问题。我有一组文件,这些文件通常是带有BOM的UTF-8。我想将它们(理想情况下)转换为没有BOM的UTF-8。似乎codecs.StreamRecoder(stream, encode, decode, Reader, Writer, errors)可以解决这个问题。但是我真的看不到任何有关用法的好例子。这将是处理此问题的最佳方法吗? source files: Tue Jan 17$ file brh-m-157.json brh-m-157.json: UTF-8 Unicode (with BOM) text 同样,如果我们能够处理清楚知道的不同输入编码(看到的ASCII和UTF-16),那将是理想的。看来这一切都是可行的。是否有一种解决方案可以采用任何已知的Python编码并以UTF-8格式输出而无需BOM? 从下面编辑1个建议的sol'n(谢谢!) fp = open('brh-m-157.json','rw') s = fp.read() u = s.decode('utf-8-sig') s = u.encode('utf-8') print fp.encoding fp.write(s) 这给了我以下错误: IOError: [Errno 9] Bad file descriptor 新闻快讯 有人在评论中告诉我,错误是我以'rw'模式而不是'r +'/'r + b'模式打开文件,因此我最终应重新编辑问题并删除已解决的部分。

7
ImportError:没有名为模拟的模块
因此,我尝试使用unittest.mock模拟单元测试中的某些方法。我做: from unittest.mock import MagicMock f = open("data/static/mock_ffprobe_response") subprocess.check_output = MagicMock(return_value=f.read()) f.close() 但我得到: ImportError: No module named mock 我试过了: pip install mock 它仍然无法正常工作。

9
是python变量指针吗?否则他们是什么?
据我所知,Python中的变量只是指针。 基于此规则,我可以假定此代码段的结果为: i = 5 j = i j = 3 print(i) 会是3。但是我得到了一个意想不到的结果,那就是5。 此外,我的Python书确实涵盖了以下示例: i = [1,2,3] j = i i[0] = 5 print(j) 结果将是[5,2,3]。 我理解错了什么?

5
访问JSON元素
我正在从URL获取天气信息。 weather = urllib2.urlopen('url') wjson = weather.read() 我得到的是: { "data": { "current_condition": [{ "cloudcover": "0", "humidity": "54", "observation_time": "08:49 AM", "precipMM": "0.0", "pressure": "1025", "temp_C": "10", "temp_F": "50", "visibility": "10", "weatherCode": "113", "weatherDesc": [{ "value": "Sunny" }], "weatherIconUrl": [{ "value": "http:\/\/www.worldweatheronline.com\/images\/wsymbols01_png_64\/wsymbol_0001_sunny.png" }], "winddir16Point": "E", "winddirDegree": "100", "windspeedKmph": "22", "windspeedMiles": "14" …
81 python  json 

3
Jython何时会支持Python 3?
根据Jython的文档: Jython是Java平台的Python语言的实现。Jython 2.5实现与CPython 2.5相同的语言,以及几乎所有的Core Python标准库模块。(CPython是Python语言的C实现。)Jython 2.5使用与CPython相同的回归测试套件,但做了一些小的修改。 有计划支持Python 3吗?如果是这样,它计划何时发布?

9
我可以在包装函数之前修补Python装饰器吗?
我有一个带有装饰器的函数,我正在Python Mock库的帮助下进行测试。我想mock.patch用一个仅调用函数的模拟“ bypass”装饰器代替真正的装饰器。 我不知道的是如何在真正的装饰器包装功能之前应用补丁。我在补丁目标上尝试了几种不同的变体,并对补丁和导入语句重新排序,但均未成功。有任何想法吗?

8
如何找到可执行文件的路径?
我需要使用二进制路径设置环境。在外壳中,我可以使用它which来查找路径。python中是否有等效项?这是我的代码。 cmd = ["which","abc"] p = subprocess.Popen(cmd, stdout=subprocess.PIPE) res = p.stdout.readlines() if len(res) == 0: return False return True
81 python 

12
Python:绑定套接字:“地址已在使用中”
我对TCP / IP网络上的客户端套接字有疑问。假设我用 try: comSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) comSocket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) except socket.error, msg: sys.stderr.write("[ERROR] %s\n" % msg[1]) sys.exit(1) try: comSocket.bind(('', 5555)) comSocket.connect() except socket.error, msg: sys.stderr.write("[ERROR] %s\n" % msg[1]) sys.exit(2) 创建的套接字将绑定到端口5555。问题是结束连接后 comSocket.shutdown(1) comSocket.close() 使用wireshark,我看到套接字从两侧都被FIN,ACK和ACK关闭,我无法再次使用该端口。我收到以下错误: [ERROR] Address already in use 我想知道如何立即清除端口,以便下次仍可以使用该端口。 comSocket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) setsockopt似乎无法解决问题,谢谢!
81 python  sockets  tcp  port 

3
使用easy_install安装特定版本
我正在尝试安装lxml。我看了一下网站,发现2.2.8版对我来说很合理,但是当我这样做时easy_install lxml,它安装了2.3.beta1版,这并不是我真正想要的。 解决此问题的最佳方法是什么?如何强制easy_install安装特定版本? (Mac OS X 10.6)

2
Python,可变长度位置参数后的默认关键字参数
我以为可以在Python 2的函数调用中在变长位置参数之后使用命名参数,但是SyntaxError在导入python类时得到了提示。例如,我正在使用以下“ get”方法编写: class Foo(object): def __init__(self): print "You have created a Foo." def get(self, *args, raw=False, vars=None): print len(args) print raw print vars 错误看起来像: def get(self, *args, raw=False, vars=None): ^ SyntaxError: invalid syntax 我希望能够以几种方式调用该方法: f = Foo() f.get(arg1, arg2) f.get(arg1, raw=True) f.get(arg1, arg2, raw=True, vars=something) 等等


8
将dict的键和值从unicode转换为str的最快方法?
我正在从一个代码“层”收到命令,对该命令进行一些计算/修改,然后再将其传递到另一个“层”。原始dict的键和“字符串”值是unicode,但是将它们传递到的层只接受str。 这将经常被调用,所以我想知道什么是最快的转换方法: { u'spam': u'eggs', u'foo': True, u'bar': { u'baz': 97 } } ...至: { 'spam': 'eggs', 'foo': True, 'bar': { 'baz': 97 } } ……请记住,非“字符串”值必须保持其原始类型。 有什么想法吗?
81 python  casting  types 


2
Python-数据框尺寸
Python的新手。 在R中,您可以使用dim(...)获得矩阵的尺寸。Python Pandas中数据框的对应函数是什么?
81 python  pandas 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.