小编use*_*807的帖子

在Python中为方法生成控制流图的最简单方法是什么?

我正在编写一个试图比较两种方法的程序.我想为所有匹配的方法生成控制流图(CFG),并使用拓扑排序来比较两个图.

python methods graph

13
推荐指数
2
解决办法
6976
查看次数

python如何将日期时间日期转换为十进制年份

我正在寻找一种方法将datetime对象转换为十进制年份.以下是一个例子

>>> obj = SomeObjet()
>>> obj.DATE_OBS
datetime.datetime(2007, 4, 14, 11, 42, 50)
Run Code Online (Sandbox Code Playgroud)

如何将datetime.datetime(2007,4,14,11,42,50)转换为十进制年?从这种格式dd/mm/yyyy到这种格式yyyy.yyyy

python datetime date

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

python在比较项目时迭代两个列表

我有两个列表,例如x = [1,2,3,4,4,5,6,7,7] y = [3,4,5,6,7,8,9,10],我想在比较项目时迭代这两个列表.对于那些匹配,我想调用一些函数并从列表中删除它们,在这个例子中我应该最终得到x = [1,2]和y = [8,9,10].由于我的数据类型和比较运算符,集合不适用于此问题.

for i in x:
  for j in y:
    if i ==j:
       callsomefunction(i,j)
       remove i, j from x and y respectively
Run Code Online (Sandbox Code Playgroud)

python list

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

python,如何逐步创建线程

我有一个项目列表aprox 60,000项 - 我想向数据库发送查询以检查它们是否存在以及它们是否确实返回了一些计算结果.我运行一个普通的查询,一个一个地遍历列表,查询已经运行了最后4天.我以为我可以使用线程模块来改进这一点.我做了这样的事

if __name__ == '__main__':
  for ra, dec in candidates:
    t = threading.Thread(target=search_sl, args=(ra,dec, q))
    t.start()
  t.join()
Run Code Online (Sandbox Code Playgroud)

我只测试了10个项目并且工作正常 - 当我提交了整个60k项目列表时,我遇到了错误,即"超出最大会话数".我想要做的是一次创建10个线程.当第一串线程完成激活时,我发送另一个请求,依此类推.

python multithreading

5
推荐指数
2
解决办法
502
查看次数

python,检测元素已被删除/添加/更改列表中的位置

我有一个项目列表..一个原始列表和一个修改过的列表 - 我想知道的是从修改后的列表中删除/添加了哪些元素以及原始列表中的位置.列表没有重复项,也没有排序,因为列表中项目的排序很重要.举个例子

Org = ['AMEND', 'ASTRT', 'ETIME', 'OBJ', 'ast', 'bias', 'chip', 'cold']
mod = ['AMEND', 'ASTRT',         'OBJ', 'ast', 'bias', 'chip', 'cold', 'flat', 'deb']
Run Code Online (Sandbox Code Playgroud)

在mod_list'ETIME'中,删除了'flat',deb'被添加 - 所以这个结果将是'ETIME'在索引2处删除,'flat',deb'在索引8和9处添加.

我的另一个问题是检测物品是否改变了位置.在下面的示例中,'OBJ'和'ASTRT'已经改变了位置.

Org = ['AMEND', 'ASTRT', 'ETIME', 'OBJ', 'ast', 'bias', 'chip', 'cold']
mod = ['AMEND', 'OBJ', 'ETIME', 'ASTRT', 'ast', 'bias', 'chip', 'cold']
Run Code Online (Sandbox Code Playgroud)

关于如何解决这个问题的任何想法!

python list

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

DOT - 如何减少连接两个节点的线路

我有一个函数,记录在运行时调用方法的方式.我正在尝试使用点来显示这些信息.一些方法被多次调用 - 例如,在循环的情况下 - 在图中我想要只有一条线连接两个节点 - 是否有一个开关做到这一点...参见示例图"RawFitsData._method"调用"RawFitsData INIT "; 多次,在图中,我想只显示一行在此输入图像描述

digraph G{
    splines=false;
    ranksep=1;
node[shape=box, color=grey, style=filled];


    "DBProxy.fetch_from_database" -> "RawFitsData._method";
    "RawFitsData._method" -> "RawFitsData.__init__";
    "RawFitsData._method" -> "RawFitsData.__init__";
    "RawFitsData._method" -> "RawFitsData.__init__";
    "RawFitsData._method" -> "RawFitsData.__init__";
 "RawFitsData._method" -> "RawFitsData.__init__";
    "RawFitsData.__init__" -> "RawFitsData._method";
    "RawFitsData._method" -> "RawFitsData.__init__";
    "RawFitsData.__init__" -> "RawFitsData._set_pathname";
    "RawFitsData._set_pathname" ->"split";
    "RawFitsData._set_pathname" ->"setter";
    "RawFitsData.__init__" -> "RawFitsData._get_pathname";
    "RawFitsData._get_pathname" ->"getter";
    "RawFitsData._get_pathname" ->"join";
    "deepcopy" ->"RawFitsData._method";
    "RawFitsData._method" -> "RawFitsData.__reduce__";
    "RawFitsData.__reduce__" -> "WeakValueDictionary.__setitem__";
    "RawFitsData.__reduce__" ->"getter";
    "RawFitsData.__reduce__" -> "RawFitsData._get_pathname";
    "RawFitsData._get_pathname" ->"getter";

    }
Run Code Online (Sandbox Code Playgroud)

dot graphviz

3
推荐指数
1
解决办法
499
查看次数

从列表中选择最近的一对

我有一个列表,举个例子

[(35.9879845760485, -4.74093235801354), (35.9888687992442, -4.72708076713794),
(35.9889733432982, -4.72758983150694), (35.9915751019521, -4.72772881198689), 
(35.9935223025608, -4.72814213543564), (35.9941433944962, -4.72867416528065), 
(35.9946670576458, -4.72915181755908), (35.995946587966, -4.73005565674077), 
(35.9961479762973, -4.7306870912609), (35.9963563641681, -4.7313535758683), 
(35.9968685892892, -4.73182757975504), (35.9976738530666, -4.73194429867996) ]
Run Code Online (Sandbox Code Playgroud)

coord = (35.9945570576458, -4.73110757975504)

我想选择衣橱配对coordlist

python list

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

python:stdout到文件的选择性重定向

我正在使用python的模块来调用dis字节码.默认情况下dis会将输出发送到屏幕.我想在dis不修改dis模块的情况下将输出重定向到文件.问题是,dis在一些条件成立后,我在长期计划中打电话.我举个例子!

class foo(object):

   def method1():
      print 'something'
      name = 6
      print name

class boo(object):

    def method1():
       print 'nothing'
       name = 10
       print name

import dis
# other statements
if foo.method1.im_func.func_code.co_code != boo.method1.im_func.func_code.co_code:
       dis.dis(method1) # would like to redirect output to a file
       dis.dis(method2)  # would like to redirect output to a file
# other statements
Run Code Online (Sandbox Code Playgroud)

使用sys.stdout = open('file', 'w')将所有内容发送到文件.但是,有一些声明是我希望在程序运行时在屏幕上打印的主程序的一部分.

python stdout

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

标签 统计

python ×7

list ×3

date ×1

datetime ×1

dot ×1

graph ×1

graphviz ×1

methods ×1

multithreading ×1

stdout ×1