添加微型resume函数,用于csv读取迭代器

csvresumable的Python项目详细描述


CSS可消费

为csv读取迭代器添加微小的resume函数。

示例

00英里/年

importsysimportosimportrandomfromioimportStringIOfromcsvresumableimportDictReaderdata="""\id,name1,foo2,bar3,boo"""random.seed(int(os.environ.get("SEED","0")))forrowinDictReader(StringIO(data)):n=random.random()ifn<0.5:print("fail {}".format(n),file=sys.stderr)sys.exit(0)print("\t",row["name"])print("finished")

继续直到成功。

SEED=0 python 00main.pyfail 0.420571580830845	 foo	 barSEED=1 RESUME=1 python 00main.pyfail 0.13436424411240122SEED=2 RESUME=1 python 00main.py	 boofinishedSEED=5 python 00main.py	 foo	 bar	 boofinished

或者使用resume选项设置(运行此脚本,例如python 01main.py --resume

--- 00main.py	2018-06-16 04:19:51.573578443 +0900+++ 01main.py	2018-06-16 04:20:04.760554103 +0900@@ -4,17 +4,23 @@
 from io import StringIO
 from csvresumable import DictReader

-data = """\+data = """
 id,name
 1,foo
 2,bar
 3,boo
 """

+import argparse+parser = argparse.ArgumentParser()+parser.add_argument("--seed", default=0, type=int)+parser.add_argument("--resume", action="store_true")+args = parser.parse_args()+
 random.seed(int(os.environ.get("SEED", "0")))
-for row in DictReader(StringIO(data)):+for row in DictReader(StringIO(data), resume=args.resume):
     n = random.random()
-    if n < 0.5:+    if n > 0.8:
         print("fail {}".format(n), file=sys.stderr)
         sys.exit(0)
     print("\t", row["name"])

多文件

fromcsvresumableimportDictReaderfiles=["a.csv","b.csv"]forfinfiles:r=DictReader(f)forrowinr:do_something(row)

更多

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如果在每次迭代后返回到原始状态,java是否可以安全地对正在迭代的数组进行变异?   linux java对'main'集合的未定义引用2:ld返回1退出状态   java如何在dynamodb上按多个字段进行排序(有解决方法吗)?   java错误处理servlet停止工作,我不知道原因:(   多线程如何在Java中暂停/恢复ExecutorService中的所有线程?   java为什么是我的jsoup。连接(url)无法使用某些url?   多线程理解Java多线程中的内存可见性   java sonar scanner可以在没有sonarqube服务器的情况下工作吗   如何从java中的页面获取不同的url?   java从文件中查找命令行中指定的单词   java类的“set”方法是否应该返回“void”或“boolean”?   如何使用java代码批量读取文件内容   二进制十进制(java.lang.NumberFormatException)   java如何在同一个句子中分别替换同一个单词但大小写不同?   java Spring `RestController`方法注释了`Transactional`,但“当前没有活动的事务”?   java OWL API:如何将域分配给OWLObjectProperty上的范围   java变量末尾的$有特殊意义吗?   java什么距离计算(经度、纬度)更精确?   卡片布局java GUI