Tag: python

我怎样才能用Python打印ASCII表格?

我正在寻找一个Python库来打印这样的表格: ======================= | column 1 | column 2 | ======================= | value1 | value2 | | value3 | value4 | ======================= 我发现asciitable,但它不会做边界等。我不需要任何复杂的数据项格式,他们只是string。 我确实需要它来自动调整列的大小。 这样的事情是否存在,还是我需要花几分钟的时间写我自己的?

Python复制通过分配?

我期望下面的代码只是初始化dict_a , dict_b和dict_c字典。 但是它通过效果来仿效: dict_a = dict_b = dict_c = {} dict_c['hello'] = 'goodbye' print dict_a print dict_b print dict_c 正如你所看到的结果如下: {'hello': 'goodbye'} {'hello': 'goodbye'} {'hello': 'goodbye'} 为什么这个程序给出了以前的结果,当我期望它返回时: {} {} {'hello': 'goodbye'}

在Python3中的filter

我正在学习Python中的filter的概念。 我正在运行一个这样的简单的代码。 >>> def f(x): return x % 2 != 0 and x % 3 != 0 >>> filter(f, range(2, 25)) 但是,我没有得到一个清单,我收到了这样的消息。 <filter object at 0x00FDC550> 这是什么意思? 这是否意味着我的过滤对象,即列表出来是存储在该内存位置? 我如何获得我需要的清单?

如何覆盖前面的打印到Python的标准输出?

如果我有以下代码: for x in range(10): print x 我会得到的输出 1 2 etc.. 我想要做的不是打印一个换行符,而是要replace之前的值,并用同一行上的新值覆盖它。

截断在Python中的花车

我想从浮点数中删除数字,在点后面有一个固定的数字位数,如: 1.923328437452 -> 1.923 我需要输出为另一个函数的string,而不是打印。 另外我想忽略丢失的数字,而不是围绕它们。

如何使用Python逻辑来检查回文

我试图用Python来检查回文。 我有的代码是非常强大的。 在我看来,从C到Python的最大的错误就是尝试使用Python来实现C逻辑,这使得事情运行缓慢,而且它并没有充分利用这种语言。 我在这个网站上看到。 search“C风格”,Python没有C风格的循环。 可能已经过时了,但是我认为Python意味着Python有自己的方法。 我试过四处寻找,我找不到最新的(Python 3)的build议。 我怎样才能解决在Python中的回文挑战,而不使用for循环? 我在课堂上用C语言完成了这个工作,但是我想用Python来完成。 问题是从欧拉工程 ,伟大的网站顺便说一句,。 def isPalindrome(n): lst = [int(n) for n in str(n)] l=len(lst) if l==0 || l==1: return True elif len(lst)%2==0: for k in range (l) ##### else: while (k<=((l-1)/2)): if (list[]): ##### for i in range (999, 100, -1): for j in range (999,100, -1): […]

对大型XML文件使用Python Iterparse

我需要用Python编写一个parsing器,它可以在没有太多内存(只有2 GB)的计算机上处​​理一些非常大的文件(> 2 GB)。 我想在lxml中使用iterparse来做到这一点。 我的文件的格式是: <item> <title>Item 1</title> <desc>Description 1</desc> </item> <item> <title>Item 2</title> <desc>Description 2</desc> </item> 到目前为止我的解决scheme是: from lxml import etree context = etree.iterparse( MYFILE, tag='item' ) for event, elem in context : print elem.xpath( 'description/text( )' ) del context 不幸的是,这个解决scheme仍然消耗了大量的内存。 我觉得问题是,在处理好每一个“项目”之后,我需要做些什么来清理空的孩子。 任何人都可以提供一些build议,我可以做什么后,处理我的数据妥善清理?

如何从Python中的生成器或列表中获取前N个项目?

用linq我会的 var top5 = array.Take(5); 如何用Python做到这一点?

输出到同一行覆盖以前的输出? python(2.5)

我正在写一个简单的ftp下载器。 部分代码是这样的: ftp.retrbinary("RETR " + file_name, process) 我正在调用函数进程来处理callback: def process(data): print os.path.getsize(file_name)/1024, 'KB / ', size, 'KB downloaded!' file.write(data) 和输出是这样的: 1784 KB / KB 1829 downloaded! 1788 KB / KB 1829 downloaded! etc… 但我希望它打印这一行,下一次重印/刷新,所以它只会显示一次,我会看到下载的进度… 怎么办?

Python的json.loads显示ValueError:额外的数据

我从一个JSON文件“new.json”获取一些数据,我想筛选一些数据并将其存储到一个新的JSON文件中。 这是我的代码: import json with open('new.json') as infile: data = json.load(infile) for item in data: iden = item.get["id"] a = item.get["a"] b = item.get["b"] c = item.get["c"] if c == 'XYZ' or "XYZ" in data["text"]: filename = 'abc.json' try: outfile = open(filename,'ab') except: outfile = open(filename,'wb') obj_json={} obj_json["ID"] = iden obj_json["VAL_A"] = a obj_json["VAL_B"] = […]