Questions tagged «python»

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


6
在if语句中依靠条件评估顺序是否安全?
当my_var可以设置为None时,使用以下格式是否不好? if my_var and 'something' in my_var: #do something 问题是,'something' in my_var如果my_var为None ,将引发TypeError。 还是我应该使用: if my_var: if 'something' in my_var: #do something 要么 try: if 'something' in my_var: #do something except TypeError: pass 重新说明这个问题,以上哪一项是Python最佳实践(如果有)? 欢迎其他选择!

9
无法使用“#!/ usr / bin / env python”将参数传递给python
我需要一个可直接执行的python脚本,因此我从开始了该文件#!/usr/bin/env python。但是,我还需要无缓冲的输出,因此我尝试了#!/usr/bin/env python -u,但是失败了python -u: no such file or directory。 我发现#/usr/bin/python -u的作品,但我需要它来获得python在PATH支持虚拟env环境。 我有什么选择?

3
使用multiprocessing.Process并发进程数最多
我有Python代码: from multiprocessing import Process def f(name): print 'hello', name if __name__ == '__main__': for i in range(0, MAX_PROCESSES): p = Process(target=f, args=(i,)) p.start() 运行良好。但是,MAX_PROCESSES是变量,可以是1和之间的任何值512。由于我仅在具有8内核的计算机上运行此代码,因此我需要确定是否有可能限制允许同时运行的进程数。我已经调查过了multiprocessing.Queue,但看起来不像我需要的东西-也许我在错误地解释了文档。 有没有一种方法可以限制同时multiprocessing.Process运行的数量?

5
从Atom运行Python
在Sublime中,我们可以使用⌘+ b(或ctrl+ b)轻松便捷地运行Python或几乎所有语言的相关内容 该代码将在源代码下方的一个小窗口中运行,并且在不再需要时可以使用Escape键将其轻松关闭。 有没有办法使用Github的atom编辑器在功能上进行复制?

2
如何使用python的asyncio模块正确创建和运行并发任务?
我正在尝试Task使用Python 3的相对较新的asyncio模块正确理解和实现两个同时运行的对象。 简而言之,asyncio似乎旨在处理Task事件循环中的异步过程和并发执行。它促进了await(应用于异步函数中)作为无回调方式等待和使用结果的使用,而不会阻塞事件循环。(期货和回调仍然是可行的选择。) 它还提供了asyncio.Task()该类,该类是Future 设计用于包装协程的专门子类。最好通过使用该asyncio.ensure_future()方法来调用。异步任务的预期用途是允许独立运行的任务与同一事件循环中的其他任务“同时”运行。我的理解是Tasks连接到事件循环,然后该循环自动继续驱动await语句之间的协程。 我喜欢无需使用任何一个Executor类就可以使用并发Task的想法,但是在实现方面我没有发现太多细节。 这是我目前正在做的事情: import asyncio print('running async test') async def say_boo(): i = 0 while True: await asyncio.sleep(0) print('...boo {0}'.format(i)) i += 1 async def say_baa(): i = 0 while True: await asyncio.sleep(0) print('...baa {0}'.format(i)) i += 1 # wrap in Task object # -> automatically …

10
在熊猫中改组/排列DataFrame
有什么简单有效的方法可以按行或按列对panda中的数据框进行随机排序?即,如何编写一个函数shuffle(df, n, axis=0),该函数接受一个数据帧,许多随机播放n和一个轴(axis=0是行,axis=1是列),并返回已被随机播放n多次的数据帧的副本。 编辑:关键是这样做而不破坏数据框的行/列标签。如果您只是随机播放df.index,则会丢失所有这些信息。df除了行顺序或列顺序不同之外,我希望结果与原始结果相同。 Edit2:我的问题不清楚。我说的是随机排列,是指分别随机排列每一行。因此,如果您有两列a和b,则我希望每一行都按其顺序进行随机排列,这样,您a和之间就不会具有相同的关联,b就好像您只是重新排列整个行的顺序一样。就像是: for 1...n: for each col in df: shuffle column return new_df 但是希望比幼稚的循环更有效。这对我不起作用: def shuffle(df, n, axis=0): shuffled_df = df.copy() for k in range(n): shuffled_df.apply(np.random.shuffle(shuffled_df.values),axis=axis) return shuffled_df df = pandas.DataFrame({'A':range(10), 'B':range(10)}) shuffle(df, 5)
76 python  numpy  pandas 

7
汇总列表中的元素
这是我的代码,我需要对列表中未定义数量的元素求和。这该怎么做? l = raw_input() l = l.split(' ') l.pop(0) 我的输入:3 5 4 9 输入后,我通过删除第一个元素l.pop(0)。在.split(' ')列表之后['5', '4', '9'],我需要对列表中的所有元素求和。 在这种情况下,总和为18。请注意,未定义元素数。
76 python  list  sum 

14
如何将CSV数据导入Django模型
我有一些CSV数据,我想使用示例CSV数据导入django模型: 1;"02-01-101101";"Worm Gear HRF 50";"Ratio 1 : 10";"input shaft, output shaft, direction A, color dark green"; 2;"02-01-101102";"Worm Gear HRF 50";"Ratio 1 : 20";"input shaft, output shaft, direction A, color dark green"; 3;"02-01-101103";"Worm Gear HRF 50";"Ratio 1 : 30";"input shaft, output shaft, direction A, color dark green"; 4;"02-01-101104";"Worm Gear HRF 50";"Ratio …

6
猴子在Python的另一个模块中修补类
我正在使用其他人编写的模块。我想猴子修补__init__模块中定义的类的方法。我发现的示例显示了如何执行此操作的所有示例,都假设我自己将自己称为该类(例如Monkey-patch Python类)。然而,这种情况并非如此。在我的情况下,该类是在另一个模块的函数中初始化的。请参阅下面的(大大简化的)示例: thirdpartymodule_a.py class SomeClass(object): def __init__(self): self.a = 42 def show(self): print self.a thirdpartymodule_b.py import thirdpartymodule_a def dosomething(): sc = thirdpartymodule_a.SomeClass() sc.show() mymodule.py import thirdpartymodule_b thirdpartymodule_b.dosomething() 有什么方法可以修改的__init__方法,例如,SomeClass当dosomething从mymodule.py调用该方法时,它显示43而不是42?理想情况下,我将能够包装现有方法。 我不能更改thirdpartymodule * .py文件,因为其他脚本取决于现有功能。我宁愿不必创建自己的模块副本,因为我需要进行的更改非常简单。 编辑2013-10-24 在上面的示例中,我忽略了一个很小但很重要的细节。SomeClass是这样导入的thirdpartymodule_b:from thirdpartymodule_a import SomeClass。 要执行FJ建议的补丁,我需要替换其中的副本thirdpartymodule_b,而不是thirdpartymodule_a。例如thirdpartymodule_b.SomeClass.__init__ = new_init。

3
Python模拟中的模拟属性?
我mock在Python中使用时遇到了一些困难: def method_under_test(): r = requests.post("http://localhost/post") print r.ok # prints "<MagicMock name='post().ok' id='11111111'>" if r.ok: return StartResult() else: raise Exception() class MethodUnderTestTest(TestCase): def test_method_under_test(self): with patch('requests.post') as patched_post: patched_post.return_value.ok = True result = method_under_test() self.assertEqual(type(result), StartResult, "Failed to return a StartResult.") 测试实际上返回正确的值,但r.ok它是Mock对象,不是True。您如何在Pythonmock库中模拟属性?

3
Django反向查找外键
我有一个场地,这个场地上发生了很多事件。我的模型如下所示: class Event(models.Model): title = models.CharField(max_length=200) date_published = models.DateTimeField('published date',default=datetime.now, blank=True) date_start = models.DateTimeField('start date') date_end = models.DateTimeField('end date') def __unicode__(self): return self.title description = models.TextField() price = models.IntegerField(null=True, blank=True) venue = models.ForeignKey(Venue) class Venue(models.Model): title = models.CharField(max_length=200) date_published = models.DateTimeField('published date',default=datetime.now, blank=True) venue_latitude = models.CharField(max_length=200) venue_longitude = models.CharField(max_length=200) venue_address …



2
Jupyter中的Tensorflow设置CUDA_VISIBLE_DEVICES
我有两个GPU,想同时通过ipynb运行两个不同的网络,但是第一个笔记本始终分配两个GPU。 使用CUDA_VISIBLE_DEVICES,我可以隐藏python文件的设备,但是我不确定如何在笔记本中这样做。 无论如何,是否会将不同的GPU隐藏在同一服务器上运行的笔记本电脑中?

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.