Questions tagged «python»

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


8
使用strftime将python datetime转换为纪元
我在UTC有一个时间,我想要从纪元开始经过的秒数。 我正在使用strftime将其转换为秒数。以2012年4月1日为例。 >>>datetime.datetime(2012,04,01,0,0).strftime('%s') '1333234800' 从纪元开始的UTC时间为2012年4月1日,但以上返回1333234800,相差1小时。 因此,看来strftime正在考虑我的系统时间,并在某处应用了时区偏移。我以为日期时间纯粹是天真的? 我该如何解决?如果可能,除非标准,否则避免导入其他库。(我有可移植性问题)。
209 python  datetime  utc  epoch  strftime 

9
.join()方法到底做什么?
我对Python来说还很陌生,并且完全不.join()理解所读内容是连接字符串的首选方法。 我试过了: strid = repr(595) print array.array('c', random.sample(string.ascii_letters, 20 - len(strid))) .tostring().join(strid) 并得到类似: 5wlfgALGbXOahekxSs9wlfgALGbXOahekxSs5 为什么会这样工作?难道不595应该自动附加正义吗?
209 python  list  string 

12
有什么好的Python ORM解决方案?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我正在评估并考虑将CherryPy用于一个项目,该项目基本上是客户端(浏览器)的JavaScript前端,可与后端的Python Web服务进行通信。因此,我确实需要在后端实现快速,轻便的东西,我可以使用Python来实现,然后再通过ORM(浏览器的JSON)与PostgreSQL数据库对话。 我还在看我喜欢的Django,因为它的ORM是内置的。但是,我认为Django可能比我真正需要的要多(即比我真正需要的功能更多==慢吗?)。 任何人都具有使用不同Python ORM解决方案的经验,这些解决方案可以比较和对比其特性和功能,速度,效率等?
209 python  orm 

3
使用Python编辑CSV文件时跳过标题
我正在使用以下引用的代码使用Python编辑CSV。代码中调用的函数构成了代码的上部。 问题:我希望下面引用的代码从第二行开始编辑csv,我希望它排除包含标题的第一行。现在,它仅在第一行上应用函数,并且我的标题行正在更改。 in_file = open("tmob_notcleaned.csv", "rb") reader = csv.reader(in_file) out_file = open("tmob_cleaned.csv", "wb") writer = csv.writer(out_file) row = 1 for row in reader: row[13] = handle_color(row[10])[1].replace(" - ","").strip() row[10] = handle_color(row[10])[0].replace("-","").replace("(","").replace(")","").strip() row[14] = handle_gb(row[10])[1].replace("-","").replace(" ","").replace("GB","").strip() row[10] = handle_gb(row[10])[0].strip() row[9] = handle_oem(row[10])[1].replace("Blackberry","RIM").replace("TMobile","T-Mobile").strip() row[15] = handle_addon(row[10])[1].strip() row[10] = handle_addon(row[10])[0].replace(" by","").replace("FREE","").strip() writer.writerow(row) in_file.close() …
209 python  python-2.7  csv 


6
为Python项目添加.gitignore文件的最佳做法?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 2年前关闭。 改善这个问题 我正在尝试收集一些默认设置,而我意识到我没有标准的一件事是.gitignore文件。有一个很棒的线程显示了适用于Visual Studio项目的.gitignore,但是我没有看到很多关于Python和相关工具(PyGTK,Django)的建议。 到目前为止,我有... *.pyc *.pyo 对于已编译的对象 build/ dist/ ...用于setuptools输出。 .gitignore文件有哪些最佳实践,我可以在哪里获得更多关于这些最佳实践的信息?
209 python  django  git  pygtk  gitignore 

20
遍历列表中的每两个元素
如何进行for循环或列表理解,以便每次迭代都给我两个元素? l = [1,2,3,4,5,6] for i,k in ???: print str(i), '+', str(k), '=', str(i+k) 输出: 1+2=3 3+4=7 5+6=11
209 python  list 

9
如何使用boto3处理错误?
我试图弄清楚如何使用boto3进行正确的错误处理。 我正在尝试创建一个IAM用户: def create_user(username, iam_conn): try: user = iam_conn.create_user(UserName=username) return user except Exception as e: return e 成功调用create_user时,我得到一个整洁的对象,其中包含API调用的http状态代码和新创建的用户的数据。 例: {'ResponseMetadata': {'HTTPStatusCode': 200, 'RequestId': 'omitted' }, u'User': {u'Arn': 'arn:aws:iam::omitted:user/omitted', u'CreateDate': datetime.datetime(2015, 10, 11, 17, 13, 5, 882000, tzinfo=tzutc()), u'Path': '/', u'UserId': 'omitted', u'UserName': 'omitted' } } 这很好。但是,如果失败(例如用户已经存在),我只会得到一个类型为botocore.exceptions.ClientError的对象,其中只有文本可以告诉我出了什么问题。 示例:ClientError('调用CreateUser操作时发生错误(EntityAlreadyExists):名称省略的用户已经存在。',) 此(AFAIK)使得错误处理变得非常困难,因为我不能仅打开结果的http状态代码(根据IAM的AWS API文档,该用户的409已经存在)。这使我认为我必须以错误的方式做某事。最佳的方法是让boto3永远不会抛出异常,但是突出部分总是返回一个反映API调用进行方式的对象。 谁能在这个问题上启发我或为我指明正确的方向?




12
首次使用后重新分配时,局部变量上出现UnboundLocalError
以下代码可在Python 2.5和3.0中正常工作: a, b, c = (1, 2, 3) print(a, b, c) def test(): print(a) print(b) print(c) # (A) #c+=1 # (B) test() 但是,当我取消注释(B)行时,我UnboundLocalError: 'c' not assigned在(A)行得到了注释。的值a和b被正确地打印。这使我完全困惑,原因有两个: 为什么由于行(B)的后面的语句而在行(A)抛出运行时错误? 为什么在按预期方式打印变量a并产生错误?bc 我能提出的唯一解释是,局部变量c是由赋值创建的c+=1,它c甚至在创建局部变量之前就优先于“全局”变量。当然,在变量存在之前“窃取”范围是没有意义的。 有人可以解释这种现象吗?
208 python  variables  scope 


4
使virtualenv继承全局站点程序包中的特定程序包
我正在寻找一种制作virtualenv的方法,该方法只包含基本python安装的一些库(我选择了这些库)。 更具体地说,我正在尝试在创建virtualenv的过程中将matplotlib导入virtualenv。由于缺少某些fortran编译器库,因此无法使用pip或easy_install有效安装。我到目前为止的方法是手动从 /usr/lib/python2.7/dist-packages/ to virtualenv_name/lib/python2.7/dist-packages/ 但是,这会阻止手动导入的链接被蛋黄注册(这会在virtualenv中打印所有当前可用的库)。 因此,有没有一种方法可以对 virtualenv --system-site-packages
208 python  virtualenv 

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.