天道酬勤,学无止境

python-2.4

使用 python 2.4 计算 CSV 文件中的列数(To Count the number of columns in a CSV file using python 2.4)

问题 我想计算 CSV 文件中的总列数。 目前我正在使用 python 2.7 和 3.4。 代码在这些版本中完美运行,当我尝试在 python 2.4 中实现相同的东西时,它显示为 next() 未定义。 我目前使用的代码(2.7 和 3.4) f = open(sys.argv[1],'r') reader = csv.reader(f,delimiter=d) num_cols = len(next(reader)) # Read first line and count columns 我强烈需要在Python 2.4 中实现相同的功能。 任何帮助将不胜感激。 回答1 我目前没有安装 Python 2.4,所以我无法真正测试它。 根据文档,下一个内置函数是 Python 2.6 中的新函数。 但是, csv.reader有自己的下一个方法,即使在 2.4 中似乎也存在该方法,因此您应该可以使用它。 num_cols = len(reader.next()) 回答2 假设你得到一个这样的 csv 测试 1、测试 2、测试 3 你可以这样做 file = open("test.csv","r") reader = csv.reader(file) lenCol = len(next(reader)) A = ["A"+str(i) for i in range(1,lenCol

2021-10-20 03:42:10    分类:技术分享    python   python-2.7   csv   python-2.4

To Count the number of columns in a CSV file using python 2.4

I want to count the total number of columns in a CSV file. Currently i am using python 2.7 and 3.4. Code works perfectly in these versions and when i try to implement the same thing in python 2.4, it is showing as next() is not defined. Code i am using currently(2.7 and 3.4) f = open(sys.argv[1],'r') reader = csv.reader(f,delimiter=d) num_cols = len(next(reader)) # Read first line and count columns My strong need is to implement the same in Python 2.4 . Any help would be greatly appreciated.

2021-10-19 12:41:15    分类:问答    python   python-2.7   csv   python-2.4

XML 到/从 Python 字典(XML to/from a Python dictionary)

问题 我需要使用 Python 2.4.4 将 XML 与 Python 字典相互转换。 我只需要节点名称和值,我不担心属性,因为我解析的 XML 没有任何属性。 我无法使用ElementTree因为它不适用于 2.4.4,而且由于我的工作环境,我无法使用 3rd 方库。 对我来说最简单的方法是什么? 有什么好的片段吗? 此外,如果没有一种简单的方法可以做到这一点,那么 Python 2.4.4 是否有任何其他的序列化格式具有本机支持? 回答1 问题 Serialize Python dictionary to XML 列出了一些 XML 序列化的方法。 至于替代序列化格式,我猜pickle模块是一个很好的工具。 回答2 我最近编写了一些代码将 XML 转换为 python 数据结构,尽管我确实必须处理属性。 出于类似的原因,我使用了xml.dom.minidom而不是ElementTree 。 我还没有在 Python 2.4.4 上实际测试过这个,但我认为它会起作用。 我没有编写反向 XML 生成器,但您可能可以使用我包含的 'lispy_string' 函数来执行此操作。 我还包含了一些特定于我正在编写的应用程序的快捷方式(在文档字符串中进行了解释),但是您可能会发现这些快捷方式也很有用,从它的声音来看。 从本质上讲,xml 树在技术上可以转换为列表字典列表字典列表等

2021-09-29 10:30:44    分类:技术分享    python   xml   serialization   xml-serialization   python-2.4

Timing out urllib2 urlopen operation in Python 2.4

I've just inherited some Python code and need to fix a bug as soon as possible. I have very little Python knowledge so please excuse my ignorance. I am using urllib2 to extract data from web pages. Despite using socket.setdefaulttimeout(30) I am still coming across URLs that hang seemingly indefinitely. I want to time out the extraction and have got this far after much searching the web: import socket socket.setdefaulttimeout(30) reqdata = urllib2.Request(urltocollect) def handler(reqdata): ???? reqdata.close() ???? t = Timer(5.0, handler,[reqdata]) t.start() urldata = urllib2.urlopen(reqdata)

2021-09-26 06:00:47    分类:问答    python   timer   timeout   urllib2   python-2.4

python 2.4.3中的临时文件语法(tempfile syntax in python 2.4.3)

问题 我有以下代码可以在 Python 2.6.6 上完美运行: import tempfile with tempfile.NamedTemporaryFile() as scriptfile: scriptfile.write(<variablename>) scriptfile.flush() subprocess.call(['/bin/bash', scriptfile.name]) 但是,当我尝试在 Python 2.4.3 上运行它时,出现以下错误: File "<stdin>", line 2 with tempfile.NamedTemporaryFile() as scriptfile ^ SyntaxError: invalid syntax Python 2.4.3 中的语法是否有变化? 回答1 Python 2.4 不支持with语句。 所以你只需要手动打开和关闭scriptfile 。 scriptfile = tempfile.NamedTemporaryFile() # whatever you need to do with `scriptfile` scriptfile.close() 回答2 with 语句仅自 Python 2.5 起使用from __future__ import with_statement并且自 Python 2.6

2021-09-12 21:57:09    分类:技术分享    python   with-statement   python-2.4

在 python 2.4 中并行化循环(Parallelize a loop in python 2.4)

问题 我有一些看起来像这样的代码: for item in list: <bunch of slow python code, depending only on item> 我想通过并行化循环来加快速度。 通常,多处理模块非常适合此问题(请参阅此问题的答案),但它是在 python 2.6 中添加的,而我一直在使用 2.4。 在 python 2.4 中并行化 python 循环的最佳方法是什么? 回答1 您可能正在寻找“叉子”,这将使使用特定项目变得容易。 http://docs.python.org/release/2.4/lib/os-process.html http://en.wikipedia.org/wiki/Fork_%28operating_system%29#Example_in_Python 但是,您的 for 循环需要看起来有点不同——您希望在 fork 返回零时立即中断。 import os L = ["a", "b", "c"] for item in L: pid = os.fork() if pid == 0: break else: print "Forked:", pid if pid != 0: print "Main Execution, Ends" else: print "Execution:", item 回答2 我不熟悉使用

2021-09-12 18:50:26    分类:技术分享    python   parallel-processing   python-2.4

Parallelize a loop in python 2.4

I have some code that looks like this: for item in list: <bunch of slow python code, depending only on item> I want to speed this up by parallelizing the loop. Normally the multiprocessing module would be perfect for this (see the answers to this question), but it was added in python 2.6 and I'm stuck using 2.4. What's the best way to parallelize a python loop in python 2.4?

2021-09-08 09:54:04    分类:问答    python   parallel-processing   python-2.4

tempfile syntax in python 2.4.3

I have the following code which runs perfectly on Python 2.6.6: import tempfile with tempfile.NamedTemporaryFile() as scriptfile: scriptfile.write(<variablename>) scriptfile.flush() subprocess.call(['/bin/bash', scriptfile.name]) However, when I try to run it on Python 2.4.3, I get the following error: File "<stdin>", line 2 with tempfile.NamedTemporaryFile() as scriptfile ^ SyntaxError: invalid syntax Is there a change in syntax in Python 2.4.3?

2021-09-05 00:31:24    分类:问答    python   with-statement   python-2.4

在带有 finally 子句的 try 块中不允许 python 2.4 的产量的解决方法(Workaround for python 2.4's yield not allowed in try block with finally clause)

问题 我被困在 python2.4 上,所以我不能在生成器或yield使用 finally 子句。 有没有办法解决这个问题? 我找不到任何关于如何在 python 2.4 中解决此限制的提及,而且我不是我想到的解决方法的忠实粉丝(主要涉及__del__并试图确保它在合理的时间内运行)不是很吸引人。 回答1 您可以复制代码以避免 finally 块: try: yield 42 finally: do_something() 变成: try: yield 42 except: # bare except, catches *anything* do_something() raise # re-raise same exception do_something() (我没有在 Python 2.4 上尝试过,你可能需要查看 sys.exc_info 而不是上面的 re-raise 语句,如raise sys.exc_info[0], sys.exc_info[1], sys.exc_info[2] .) 回答2 当生成器实例被简单地放弃(垃圾收集)时,唯一保证被调用的代码是其局部变量的__del__方法(如果外部不存在对这些对象的引用)和对其局部变量的弱引用的回调(同上) . 我推荐弱引用路由,因为它是非侵入性的(您不需要带有__del__的特殊类——只要任何弱引用即可)。 例如:

2021-08-30 20:42:16    分类:技术分享    python   yield   python-2.4   try-finally

Python 尝试/除了不工作(Python try/except not working)

问题 试图让try/except语句工作但有问题。 此代码将获取一个 txt 文件并将位置第 0 行中的文件复制到第 1 行的位置。但是,如果我将其中一个路径更改为无效路径,它会生成错误ftplib.error_perm但是未选择 except 命令起来,一切都停止了。 我究竟做错了什么? 蟒蛇 2.4 import csv import operator import sys import os import shutil import logging import ftplib import tldftp def docopy(filename): ftp = tldftp.dev() inf = csv.reader(open(filename,'r')) sortedlist = sorted(inf, key=operator.itemgetter(2), reverse=True) for row in sortedlist: src = row[0] dst = row[1] tldftp.textXfer(ftp, "RETR " + src, dst) def hmm(haha): result = docopy(haha); try: it = iter(result) except ftplib.error_perm: print "Error Getting

2021-08-11 06:38:09    分类:技术分享    python   try-catch   python-2.4