{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 文件读写" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "写入测试文件:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false, "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Writing test.txt\n" ] } ], "source": [ "%%writefile test.txt\n", "this is a test file.\n", "hello world!\n", "python is good!\n", "today is a good day." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 读文件" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "使用 `open` 函数或者 `file` 函数来读文件,使用文件名的字符串作为输入参数:" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f = open('test.txt')" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f = file('test.txt')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "这两种方式没有太大区别。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "默认以读的方式打开文件,如果文件不存在会报错。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "可以使用 `read` 方法来读入文件中的所有内容:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "this is a test file.\n", "hello world!\n", "python is good!\n", "today is a good day.\n" ] } ], "source": [ "text = f.read()\n", "print text" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "也可以按照行读入内容,`readlines` 方法返回一个列表,每个元素代表文件中每一行的内容:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['this is a test file.\\n', 'hello world!\\n', 'python is good!\\n', 'today is a good day.']\n" ] } ], "source": [ "f = open('test.txt')\n", "lines = f.readlines()\n", "print lines" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "使用完文件之后,需要将文件关闭。" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f.close()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "事实上,我们可以将 `f` 放在一个循环中,得到它每一行的内容:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "this is a test file.\n", "\n", "hello world!\n", "\n", "python is good!\n", "\n", "today is a good day.\n" ] } ], "source": [ "f = open('test.txt')\n", "for line in f:\n", " print line\n", "f.close()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "删除刚才创建的文件:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import os\n", "os.remove('test.txt')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 写文件" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "我们使用 `open` 函数的写入模式来写文件:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": true }, "outputs": [], "source": [ "f = open('myfile.txt', 'w')\n", "f.write('hello world!')\n", "f.close()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "使用 `w` 模式时,如果文件不存在会被创建,我们可以查看是否真的写入成功:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "hello world!\n" ] } ], "source": [ "print open('myfile.txt').read()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "如果文件已经存在, `w` 模式会覆盖之前写的所有内容:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "another hello world!\n" ] } ], "source": [ "f = open('myfile.txt', 'w')\n", "f.write('another hello world!')\n", "f.close()\n", "print open('myfile.txt').read()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "除了写入模式,还有追加模式 `a` ,追加模式不会覆盖之前已经写入的内容,而是在之后继续写入:" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "another hello world!... and more\n" ] } ], "source": [ "f = open('myfile.txt', 'a')\n", "f.write('... and more')\n", "f.close()\n", "print open('myfile.txt').read()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "写入结束之后一定要将文件关闭,否则可能出现内容没有完全写入文件中的情况。\n", "\n", "还可以使用读写模式 `w+`:" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "world!\n" ] } ], "source": [ "f = open('myfile.txt', 'w+')\n", "f.write('hello world!')\n", "f.seek(6)\n", "print f.read()\n", "f.close()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "这里 `f.seek(6)` 移动到文件的第6个字符处,然后 `f.read()` 读出剩下的内容。" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import os\n", "os.remove('myfile.txt')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 二进制文件" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "二进制读写模式 b:" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "'\\x86H\\x93\\xe1\\xd8\\xef\\xc0\\xaa(\\x17\\xa9\\xc9\\xa51\\xf1\\x98'\n" ] } ], "source": [ "import os\n", "f = open('binary.bin', 'wb')\n", "f.write(os.urandom(16))\n", "f.close()\n", "\n", "f = open('binary.bin', 'rb')\n", "print repr(f.read())\n", "f.close()" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import os\n", "os.remove('binary.bin')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 换行符" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "不同操作系统的换行符可能不同:\n", "\n", "- `\\r`\n", "- `\\n`\n", "- `\\r\\n`\n", "\n", "使用 `U` 选项,可以将这三个统一看成 `\\n` 换行符。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 关闭文件" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "在**Python**中,如果一个打开的文件不再被其他变量引用时,它会自动关闭这个文件。\n", "\n", "所以正常情况下,如果一个文件正常被关闭了,忘记调用文件的 `close` 方法不会有什么问题。\n", "\n", "关闭文件可以保证内容已经被写入文件,而不关闭可能会出现意想不到的结果:" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "''\n" ] } ], "source": [ "f = open('newfile.txt','w')\n", "f.write('hello world')\n", "g = open('newfile.txt', 'r')\n", "print repr(g.read())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "虽然这里写了内容,但是在关闭之前,这个内容并没有被写入磁盘。\n", "\n", "使用循环写入的内容也并不完整:" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "hello world: 0\n", "hello world: 1\n", "hello world: 2\n", "hello world: 3\n", "hello world: 4\n", "hello world: 5\n", "hello world: 6\n", "hello world: 7\n", "hello world: 8\n", "hello world: 9\n", "hello world: 10\n", "hello world: 11\n", "hello world: 12\n", "hello world: 13\n", "hello world: 14\n", "hello world: 15\n", "hello world: 16\n", "hello world: 17\n", "hello world: 18\n", "hello world: 19\n", "hello world: 20\n", "hello world: 21\n", "hello world: 22\n", "hello world: 23\n", "hello world: 24\n", "hello world: 25\n", "hello world: 26\n", "hello world: 27\n", "hello world: 28\n", "hello world: 29\n", "hello world: 30\n", "hello world: 31\n", "hello world: 32\n", "hello world: 33\n", "hello world: 34\n", "hello world: 35\n", "hello world: 36\n", "hello world: 37\n", "hello world: 38\n", "hello world: 39\n", "hello world: 40\n", "hello world: 41\n", "hello world: 42\n", "hello world: 43\n", "hello world: 44\n", "hello world: 45\n", "hello world: 46\n", "hello world: 47\n", "hello world: 48\n", "hello world: 49\n", "hello world: 50\n", "hello world: 51\n", "hello world: 52\n", "hello world: 53\n", "hello world: 54\n", "hello world: 55\n", "hello world: 56\n", "hello world: 57\n", "hello world: 58\n", "hello world: 59\n", "hello world: 60\n", "hello world: 61\n", "hello world: 62\n", "hello world: 63\n", "hello world: 64\n", "hello world: 65\n", "hello world: 66\n", "hello world: 67\n", "hello world: 68\n", "hello world: 69\n", "hello world: 70\n", "hello world: 71\n", "hello world: 72\n", "hello world: 73\n", "hello world: 74\n", "hello world: 75\n", "hello world: 76\n", "hello world: 77\n", "hello world: 78\n", "hello world: 79\n", "hello world: 80\n", "hello world: 81\n", "hello world: 82\n", "hello world: 83\n", "hello world: 84\n", "hello world: 85\n", "hello world: 86\n", "hello world: 87\n", "hello world: 88\n", "hello world: 89\n", "hello world: 90\n", "hello world: 91\n", "hello world: 92\n", "hello world: 93\n", "hello world: 94\n", "hello world: 95\n", "hello world: 96\n", "hello world: 97\n", "hello world: 98\n", "hello world: 99\n", "hello world: 100\n", "hello world: 101\n", "hello world: 102\n", "hello world: 103\n", "hello world: 104\n", "hello world: 105\n", "hello world: 106\n", "hello world: 107\n", "hello world: 108\n", "hello world: 109\n", "hello world: 110\n", "hello world: 111\n", "hello world: 112\n", "hello world: 113\n", "hello world: 114\n", "hello world: 115\n", "hello world: 116\n", "hello world: 117\n", "hello world: 118\n", "hello world: 119\n", "hello world: 120\n", "hello world: 121\n", "hello world: 122\n", "hello world: 123\n", "hello world: 124\n", "hello world: 125\n", "hello world: 126\n", "hello world: 127\n", "hello world: 128\n", "hello world: 129\n", "hello world: 130\n", "hello world: 131\n", "hello world: 132\n", "hello world: 133\n", "hello world: 134\n", "hello world: 135\n", "hello world: 136\n", "hello world: 137\n", "hello world: 138\n", "hello world: 139\n", "hello world: 140\n", "hello world: 141\n", "hello world: 142\n", "hello world: 143\n", "hello world: 144\n", "hello world: 145\n", "hello world: 146\n", "hello world: 147\n", "hello world: 148\n", "hello world: 149\n", "hello world: 150\n", "hello world: 151\n", "hello world: 152\n", "hello world: 153\n", "hello world: 154\n", "hello world: 155\n", "hello world: 156\n", "hello world: 157\n", "hello world: 158\n", "hello world: 159\n", "hello world: 160\n", "hello world: 161\n", "hello world: 162\n", "hello world: 163\n", "hello world: 164\n", "hello world: 165\n", "hello world: 166\n", "hello world: 167\n", "hello world: 168\n", "hello world: 169\n", "hello world: 170\n", "hello world: 171\n", "hello world: 172\n", "hello world: 173\n", "hello world: 174\n", "hello world: 175\n", "hello world: 176\n", "hello world: 177\n", "hello world: 178\n", "hello world: 179\n", "hello world: 180\n", "hello world: 181\n", "hello world: 182\n", "hello world: 183\n", "hello world: 184\n", "hello world: 185\n", "hello world: 186\n", "hello world: 187\n", "hello world: 188\n", "hello world: 189\n", "hello world: 190\n", "hello world: 191\n", "hello world: 192\n", "hello world: 193\n", "hello world: 194\n", "hello world: 195\n", "hello world: 196\n", "hello world: 197\n", "hello world: 198\n", "hello world: 199\n", "hello world: 200\n", "hello world: 201\n", "hello world: 202\n", "hello world: 203\n", "hello world: 204\n", "hello world: 205\n", "hello world: 206\n", "hello world: 207\n", "hello world: 208\n", "hello world: 209\n", "hello world: 210\n", "hello world: 211\n", "hello world: 212\n", "hello world: 213\n", "hello world: 214\n", "hello world: 215\n", "hello world: 216\n", "hello world: 217\n", "hello world: 218\n", "hello world: 219\n", "hello world: 220\n", "hello world: 221\n", "hello world: 222\n", "hello world: 223\n", "hello world: 224\n", "hello world: 225\n", "hello world: 226\n", "hello world: 227\n", "hello world: 228\n", "hello world: 229\n", "hello world: 230\n", "hello world: 231\n", "hello world: 232\n", "hello world: 233\n", "hello world: 234\n", "hello world: 235\n", "hello world: 236\n", "hello world: 237\n", "hello world: 238\n", "hello world: 239\n", "hello world: 240\n", "hello world: 241\n", "hello world: 242\n", "hello world: 243\n", "hello world: 244\n", "hello world: 245\n", "hello world: 246\n", "hello world: 247\n", "hello world: 248\n", "hello world: 249\n", "hello world: 250\n", "hello world: 251\n", "hello world: 252\n", "hello world: 253\n", "hello world: 254\n", "hello world: 255\n", "hello world: 256\n", "hello world: 257\n", "hello world: 258\n", "hello world: 259\n", "hello world: 260\n", "hello world: 261\n", "hello world: 262\n", "hello world: 263\n", "hello world: 264\n", "hello world: 265\n", "hello world: 266\n", "hello world: 267\n", "hello world: 268\n", "hello world: 269\n", "hello world: 270\n", "hello world: 271\n", "hello world: 272\n", "hello world: 273\n", "hello world: 274\n", "hello world: 275\n", "hello world: 276\n", "hello world: 277\n", "hello world: 278\n", "hello world: 279\n", "hello world: 280\n", "hello world: 281\n", "hello world: 282\n", "hello world: 283\n", "hello world: 284\n", "hello world: 285\n", "hello world: 286\n", "hello world: 287\n", "hello world: 288\n", "hello world: 289\n", "hello world: 290\n", "hello world: 291\n", "hello world: 292\n", "hello world: 293\n", "hello world: 294\n", "hello world: 295\n", "hello world: 296\n", "hello world: 297\n", "hello world: 298\n", "hello world: 299\n", "hello world: 300\n", "hello world: 301\n", "hello world: 302\n", "hello world: 303\n", "hello world: 304\n", "hello world: 305\n", "hello world: 306\n", "hello world: 307\n", "hello world: 308\n", "hello world: 309\n", "hello world: 310\n", "hello world: 311\n", "hello world: 312\n", "hello world: 313\n", "hello world: 314\n", "hello world: 315\n", "hello world: 316\n", "hello world: 317\n", "hello world: 318\n", "hello world: 319\n", "hello world: 320\n", "hello world: 321\n", "hello world: 322\n", "hello world: 323\n", "hello world: 324\n", "hello world: 325\n", "hello world: 326\n", "hello world: 327\n", "hello world: 328\n", "hello world: 329\n", "hello world: 330\n", "hello world: 331\n", "hello world: 332\n", "hello world: 333\n", "hello world: 334\n", "hello world: 335\n", "hello world: 336\n", "hello world: 337\n", "hello world: 338\n", "hello world: 339\n", "hello world: 340\n", "hello world: 341\n", "hello world: 342\n", "hello world: 343\n", "hello world: 344\n", "hello world: 345\n", "hello world: 346\n", "hello world: 347\n", "hello world: 348\n", "hello world: 349\n", "hello world: 350\n", "hello world: 351\n", "hello world: 352\n", "hello world: 353\n", "hello world: 354\n", "hello world: 355\n", "hello world: 356\n", "hello world: 357\n", "hello world: 358\n", "hello world: 359\n", "hello world: 360\n", "hello world: 361\n", "hello world: 362\n", "hello world: 363\n", "hello world: 364\n", "hello world: 365\n", "hello world: 366\n", "hello world: 367\n", "hello world: 368\n", "hello world: 369\n", "hello world: 370\n", "hello world: 371\n", "hello world: 372\n", "hello world: 373\n", "hello world: 374\n", "hello world: 375\n", "hello world: 376\n", "hello world: 377\n", "hello world: 378\n", "hello world: 379\n", "hello world: 380\n", "hello world: 381\n", "hello world: 382\n", "hello world: 383\n", "hello world: 384\n", "hello world: 385\n", "hello world: 386\n", "hello world: 387\n", "hello world: 388\n", "hello world: 389\n", "hello world: 390\n", "hello world: 391\n", "hello world: 392\n", "hello world: 393\n", "hello world: 394\n", "hello world: 395\n", "hello world: 396\n", "hello world: 397\n", "hello world: 398\n", "hello world: 399\n", "hello world: 400\n", "hello world: 401\n", "hello world: 402\n", "hello world: 403\n", "hello world: 404\n", "hello world: 405\n", "hello world: 406\n", "hello world: 407\n", "hello world: 408\n", "hello world: 409\n", "hello world: 410\n", "hello world: 411\n", "hello world: 412\n", "hello world: 413\n", "hello world: 414\n", "hello world: 415\n", "hello world: 416\n", "hello world: 417\n", "hello world: 418\n", "hello world: 419\n", "hello world: 420\n", "hello world: 421\n", "hello world: 422\n", "hello world: 423\n", "hello world: 424\n", "hello world: 425\n", "hello world: 426\n", "hello world: 427\n", "hello world: 428\n", "hello world: 429\n", "hello world: 430\n", "hello world: 431\n", "hello world: 432\n", "hello world: 433\n", "hello world: 434\n", "hello world: 435\n", "hello world: 436\n", "hello world: 437\n", "hello world: 438\n", "hello world: 439\n", "hello world: 440\n", "hello world: 441\n", "hello world: 442\n", "hello world: 443\n", "hello world: 444\n", "hello world: 445\n", "hello world: 446\n", "hello world: 447\n", "hello world: 448\n", "hello world: 449\n", "hello world: 450\n", "hello world: 451\n", "hello world: 452\n", "hello world: 453\n", "hello world: 454\n", "hello world: 455\n", "hello world: 456\n", "hello world: 457\n", "hello world: 458\n", "hello world: 459\n", "hello world: 460\n", "hello world: 461\n", "hello world: 462\n", "hello world: 463\n", "hello world: 464\n", "hello world: 465\n", "hello world: 466\n", "hello world: 467\n", "hello world: 468\n", "hello world: 469\n", "hello world: 470\n", "hello world: 471\n", "hello world: 472\n", "hello world: 473\n", "hello world: 474\n", "hello world: 475\n", "hello world: 476\n", "hello world: 477\n", "hello world: 478\n", "hello world: 479\n", "hello world: 480\n", "hello world: 481\n", "hello world: 482\n", "hello world: 483\n", "hello world: 484\n", "hello world: 485\n", "hello world: 486\n", "hello world: 487\n", "hello world: 488\n", "hello world: 489\n", "hello world: 490\n", "hello world: 491\n", "hello world: 492\n", "hello world: 493\n", "hello world: 494\n", "hello world: 495\n", "hello world: 496\n", "hello world: 497\n", "hello world: 498\n", "hello world: 499\n", "hello world: 500\n", "hello world: 501\n", "hello world: 502\n", "hello world: 503\n", "hello world: 504\n", "hello world: 505\n", "hello world: 506\n", "hello world: 507\n", "hello world: 508\n", "hello world: 509\n", "hello world: 510\n", "hello world: 511\n", "hello world: 512\n", "hello world: 513\n", "hello world: 514\n", "hello world: 515\n", "hello world: 516\n", "hello world: 517\n", "hello world: 518\n", "hello world: 519\n", "hello world: 520\n", "hello world: 521\n", "hello world: 522\n", "hello world: 523\n", "hello world: 524\n", "hello world: 525\n", "hello world: 526\n", "hello world: 527\n", "hello world: 528\n", "hello world: 529\n", "hello world: 530\n", "hello world: 531\n", "hello world: 532\n", "hello world: 533\n", "hello world: 534\n", "hello world: 535\n", "hello world: 536\n", "hello world: 537\n", "hello world: 538\n", "hello world: 539\n", "hello world: 540\n", "hello world: 541\n", "hello world: 542\n", "hello world: 543\n", "hello world: 544\n", "hello world: 545\n", "hello world: 546\n", "hello world: 547\n", "hello world: 548\n", "hello world: 549\n", "hello world: 550\n", "hello world: 551\n", "hello world: 552\n", "hello world: 553\n", "hello world: 554\n", "hello world: 555\n", "hello world: 556\n", "hello world: 557\n", "hello world: 558\n", "hello world: 559\n", "hello world: 560\n", "hello world: 561\n", "hello world: 562\n", "hello world: 563\n", "hello world: 564\n", "hello world: 565\n", "hello world: 566\n", "hello world: 567\n", "hello world: 568\n", "hello world: 569\n", "hello world: 570\n", "hello world: 571\n", "hello world: 572\n", "hello world: 573\n", "hello world: 574\n", "hello world: 575\n", "hello world: 576\n", "hello world: 577\n", "hello world: 578\n", "hello world: 579\n", "hello world: 580\n", "hello world: 581\n", "hello world: 582\n", "hello world: 583\n", "hello world: 584\n", "hello world: 585\n", "hello world: 586\n", "hello world: 587\n", "hello world: 588\n", "hello world: 589\n", "hello world: 590\n", "hello world: 591\n", "hello world: 592\n", "hello world: 593\n", "hello world: 594\n", "hello world: 595\n", "hello world: 596\n", "hello world: 597\n", "hello world: 598\n", "hello world: 599\n", "hello world: 600\n", "hello world: 601\n", "hello world: 602\n", "hello world: 603\n", "hello world: 604\n", "hello world: 605\n", "hello world: 606\n", "hello world: 607\n", "hello world: 608\n", "hello world: 609\n", "hello world: 610\n", "hello world: 611\n", "hello world: 612\n", "hello world: 613\n", "hello world: 614\n", "hello world: 615\n", "hello world: 616\n", "hello world: 617\n", "hello world: 618\n", "hello world: 619\n", "hello world: 620\n", "hello world: 621\n", "hello world: 622\n", "hello world: 623\n", "hello world: 624\n", "hello world: 625\n", "hello world: 626\n", "hello world: 627\n", "hello world: 628\n", "hello world: 629\n", "hello world: 630\n", "hello world: 631\n", "hello world: 632\n", "hello world: 633\n", "hello world: 634\n", "hello world: 635\n", "hello world: 636\n", "hello world: 637\n", "hello world: 638\n", "hello world: 639\n", "hello world: 640\n", "hello world: 641\n", "hello world: 642\n", "hello world: 643\n", "hello world: 644\n", "hello world: 645\n", "hello world: 646\n", "hello world: 647\n", "hello world: 648\n", "hello world: 649\n", "hello world: 650\n", "hello world: 651\n", "hello world: 652\n", "hello world: 653\n", "hello world: 654\n", "hello world: 655\n", "hello world: 656\n", "hello world: 657\n", "hello world: 658\n", "hello world: 659\n", "hello world: 660\n", "hello world: 661\n", "hello world: 662\n", "hello world: 663\n", "hello world: 664\n", "hello world: 665\n", "hello world: 666\n", "hello world: 667\n", "hello world: 668\n", "hello world: 669\n", "hello world: 670\n", "hello world: 671\n", "hello world: 672\n", "hello world: 673\n", "hello world: 674\n", "hello world: 675\n", "hello world: 676\n", "hello world: 677\n", "hello world: 678\n", "hello world: 679\n", "hello world: 680\n", "hello world: 681\n", "hello world: 682\n", "hello world: 683\n", "hello world: 684\n", "hello world: 685\n", "hello world: 686\n", "hello world: 687\n", "hello world: 688\n", "hello world: 689\n", "hello world: 690\n", "hello world: 691\n", "hello world: 692\n", "hello world: 693\n", "hello world: 694\n", "hello world: 695\n", "hello world: 696\n", "hello world: 697\n", "hello world: 698\n", "hello world: 699\n", "hello world: 700\n", "hello world: 701\n", "hello world: 702\n", "hello world: 703\n", "hello world: 704\n", "hello world: 705\n", "hello world: 706\n", "hello world: 707\n", "hello world: 708\n", "hello world: 709\n", "hello world: 710\n", "hello world: 711\n", "hello world: 712\n", "hello world: 713\n", "hello world: 714\n", "hello world: 715\n", "hello world: 716\n", "hello world: 717\n", "hello world: 718\n", "hello world: 719\n", "hello world: 720\n", "hello world: 721\n", "hello world: 722\n", "hello world: 723\n", "hello world: 724\n", "hello world: 725\n", "hello world: 726\n", "hello world: 727\n", "hello world: 728\n", "hello world: 729\n", "hello world: 730\n", "hello world: 731\n", "hello world: 732\n", "hello world: 733\n", "hello world: 734\n", "hello world: 735\n", "hello world: 736\n", "hello world: 737\n", "hello world: 738\n", "hello world: 739\n", "hello world: 740\n", "hello world: 741\n", "hello world: 742\n", "hello world: 743\n", "hello world: 744\n", "hello world: 745\n", "hello world: 746\n", "hello world: 747\n", "hello world: 748\n", "hello world: 749\n", "hello world: 750\n", "hello world: 751\n", "hello world: 752\n", "hello world: 753\n", "hello world: 754\n", "hello world: 755\n", "hello world: 756\n", "hello world: 757\n", "hello world: 758\n", "hello world: 759\n", "hello world: 760\n", "hello world: 761\n", "hello world: 762\n", "hello world: 763\n", "hello world: 764\n", "hello world: 765\n", "hello world: 766\n", "hello world: 767\n", "hello world: 768\n", "hello world: 769\n", "hello world: 770\n", "hello world: 771\n", "hello world: 772\n", "hello world: 773\n", "hello world: 774\n", "hello world: 775\n", "hello world: 776\n", "hello world: 777\n", "hello world: 778\n", "hello world: 779\n", "hello world: 780\n", "hello world: 781\n", "hello world: 782\n", "hello world: 783\n", "hello world: 784\n", "hello world: 785\n", "hello world: 786\n", "hello world: 787\n", "hello world: 788\n", "hello world: 789\n", "hello world: 790\n", "hello world: 791\n", "hello world: 792\n", "hello world: 793\n", "hello world: 794\n", "hello world: 795\n", "hello world: 796\n", "hello world: 797\n", "hello world: 798\n", "hello world: 799\n", "hello world: 800\n", "hello world: 801\n", "hello world: 802\n", "hello world: 803\n", "hello world: 804\n", "hello world: 805\n", "hello world: 806\n", "hello world: 807\n", "hello world: 808\n", "hello world: 809\n", "hello world: 810\n", "hello world: 811\n", "hello world: 812\n", "hello world: 813\n", "hello world: 814\n", "hello world: 815\n", "hello world: 816\n", "hello world: 817\n", "hello world: 818\n", "hello world: 819\n", "hello world: 820\n", "hello world: 821\n", "hello world: 822\n", "hello world: 823\n", "hello world: 824\n", "hello world: 825\n", "hello world: 826\n", "hello world: 827\n", "hello world: 828\n", "hello world: 829\n", "hello world: 830\n", "hello world: 831\n", "hello world: 832\n", "hello world: 833\n", "hello world: 834\n", "hello world: 835\n", "hello world: 836\n", "hello world: 837\n", "hello world: 838\n", "hello world: 839\n", "hello world: 840\n", "hello world: 841\n", "hello world: 842\n", "hello world: 843\n", "hello world: 844\n", "hello world: 845\n", "hello world: 846\n", "hello world: 847\n", "hello world: 848\n", "hello world: 849\n", "hello world: 850\n", "hello world: 851\n", "hello world: 852\n", "hello world: 853\n", "hello world: 854\n", "hello world: 855\n", "hello world: 856\n", "hello world: 857\n", "hello world: 858\n", "hello world: 859\n", "hello world: 860\n", "hello world: 861\n", "hello world: 862\n", "hello world: 863\n", "hello world: 864\n", "hello world: 865\n", "hello world: 866\n", "hello world: 867\n", "hello world: 868\n", "hello world: 869\n", "hello world: 870\n", "hello world: 871\n", "hello world: 872\n", "hello world: 873\n", "hello world: 874\n", "hello world: 875\n", "hello world: 876\n", "hello world: 877\n", "hello world: 878\n", "hello world: 879\n", "hello world: 880\n", "hello world: 881\n", "hello world: 882\n", "hello world: 883\n", "hello world: 884\n", "hello world: 885\n", "hello world: 886\n", "hello world: 887\n", "hello world: 888\n", "hello world: 889\n", "hello world: 890\n", "hello world: 891\n", "hello world: 892\n", "hello world: 893\n", "hello world: 894\n", "hello world: 895\n", "hello world: 896\n", "hello world: 897\n", "hello world: 898\n", "hello world: 899\n", "hello world: 900\n", "hello world: 901\n", "hello world: 902\n", "hello world: 903\n", "hello world: 904\n", "hello world: 905\n", "hello world: 906\n", "hello world: 907\n", "hello world: 908\n", "hello world: 909\n", "hello world: 910\n", "hello world: 911\n", "hello world: 912\n", "hello world: 913\n", "hello world: 914\n", "hello world: 915\n", "hello world: 916\n", "hello world: 917\n", "hello world: 918\n", "hello world: 919\n", "hello world: 920\n", "hello world: 921\n", "hello world: 922\n", "hello world: 923\n", "hello world: 924\n", "hello world: 925\n", "hello world: 926\n", "hello world: 927\n", "hello world: 928\n", "hello world: 929\n", "hello world: 930\n", "hello world: 931\n", "hello world: 932\n", "hello world: 933\n", "hello world: 934\n", "hello world: 935\n", "hello world: 936\n", "hello world: 937\n", "hello world: 938\n", "hello world: 939\n", "hello world: 940\n", "hello world: 941\n", "hello world: 942\n", "hello world: 943\n", "hello world: 944\n", "hello world: 945\n", "hello world: 946\n", "hello world: 947\n", "hello world: 948\n", "hello world: 949\n", "hello world: 950\n", "hello world: 951\n", "hello world: 952\n", "hello world: 953\n", "hello world: 954\n", "hello world: 955\n", "hello world: 956\n", "hello world: 957\n", "hello world: 958\n", "hello world: 959\n", "hello world: 960\n", "hello world: 961\n", "hello world: 962\n", "hello world: 963\n", "hello world: 964\n", "hello world: 965\n", "hello world: 966\n", "hello world: 967\n", "hello world: 968\n", "hello world: 969\n", "hello world: 970\n", "hello world: 971\n", "hello world: 972\n", "hello world: 973\n", "hello world: 974\n", "hello world: 975\n", "hello world: 976\n", "hello world: 977\n", "hello world: 978\n", "hello world: 979\n", "hello world: 980\n", "hello world: 981\n", "hello world: 982\n", "hello world: 983\n", "hello world: 984\n", "hello world: 985\n", "hello world: 986\n", "hello world: 987\n", "hello world: 988\n", "hello world: 989\n", "hello world: 990\n", "hello world: 991\n", "hello world: 992\n", "hello world: 993\n", "hello world: 994\n", "hello world: 995\n", "hello world: 996\n", "hello world: 997\n", "hello world: 998\n", "hello world: 999\n", "hello world: 1000\n", "hello world: 1001\n", "hello world: 1002\n", "hello world: 1003\n", "hello world: 1004\n", "hello world: 1005\n", "hello world: 1006\n", "hello world: 1007\n", "hello world: 1008\n", "hello world: 1009\n", "hello world: 1010\n", "hello world: 1011\n", "hello world: 1012\n", "hello world: 1013\n", "hello world: 1014\n", "hello world: 1015\n", "hello world: 1016\n", "hello world: 1017\n", "hello world: 1018\n", "hello world: 1019\n", "hello world: 1020\n", "hello world: 1021\n", "hello world: 1022\n", "hello world: 1023\n", "hello world: 1024\n", "hello world: 1025\n", "hello world: 1026\n", "hello world: 1027\n", "hello world: 1028\n", "hello world: 1029\n", "hello world: 1030\n", "hello world: 1031\n", "hello world: 1032\n", "hello world: 1033\n", "hello world: 1034\n", "hello world: 1035\n", "hello world: 1036\n", "hello world: 1037\n", "hello world: 1038\n", "hello world: 1039\n", "hello world: 1040\n", "hello world: 1041\n", "hello world: 1042\n", "hello world: 1043\n", "hello world: 1044\n", "hello world: 1045\n", "hello world: 1046\n", "hello world: 1047\n", "hello world: 1048\n", "hello world: 1049\n", "hello world: 1050\n", "hello world: 1051\n", "hello world: 1052\n", "hello world: 1053\n", "hello world: 1054\n", "hello world: 1055\n", "hello world: 1056\n", "hello world: 1057\n", "hello world: 1058\n", "hello world: 1059\n", "hello world: 1060\n", "hello world: 1061\n", "hello world: 1062\n", "hello world: 1063\n", "hello world: 1064\n", "hello world: 1065\n", "hello world: 1066\n", "hello world: 1067\n", "hello world: 1068\n", "hello world: 1069\n", "hello world: 1070\n", "hello world: 1071\n", "hello world: 1072\n", "hello world: 1073\n", "hello world: 1074\n", "hello world: 1075\n", "hello world: 1076\n", "hello world: 1077\n", "hello world: 1078\n", "hello world: 1079\n", "hello world: 1080\n", "hello world: 1081\n", "hello world: 1082\n", "hello world: 1083\n", "hello world: 1084\n", "hello world: 1085\n", "hello world: 1086\n", "hello world: 1087\n", "hello world: 1088\n", "hello world: 1089\n", "hello world: 1090\n", "hello world: 1091\n", "hello world: 1092\n", "hello world: 1093\n", "hello world: 1094\n", "hello world: 1095\n", "hello world: 1096\n", "hello world: 1097\n", "hello world: 1098\n", "hello world: 1099\n", "hello world: 1100\n", "hello world: 1101\n", "hello world: 1102\n", "hello world: 1103\n", "hello world: 1104\n", "hello world: 1105\n", "hello world: 1106\n", "hello world: 1107\n", "hello world: 1108\n", "hello world: 1109\n", "hello world: 1110\n", "hello world: 1111\n", "hello world: 1112\n", "hello world: 1113\n", "hello world: 1114\n", "hello world: 1115\n", "hello world: 1116\n", "hello world: 1117\n", "hello world: 1118\n", "hello world: 1119\n", "hello world: 1120\n", "hello world: 1121\n", "hello world: 1122\n", "hello world: 1123\n", "hello world: 1124\n", "hello world: 1125\n", "hello world: 1126\n", "hello world: 1127\n", "hello world: 1128\n", "hello world: 1129\n", "hello world: 1130\n", "hello world: 1131\n", "hello world: 1132\n", "hello world: 1133\n", "hello world: 1134\n", "hello world: 1135\n", "hello world: 1136\n", "hello world: 1137\n", "hello world: 1138\n", "hello world: 1139\n", "hello world: 1140\n", "hello world: 1141\n", "hello world: 1142\n", "hello world: 1143\n", "hello world: 1144\n", "hello world: 1145\n", "hello world: 1146\n", "hello world: 1147\n", "hello world: 1148\n", "hello world: 1149\n", "hello world: 1150\n", "hello world: 1151\n", "hello world: 1152\n", "hello world: 1153\n", "hello world: 1154\n", "hello world: 1155\n", "hello world: 1156\n", "hello world: 1157\n", "hello world: 1158\n", "hello world: 1159\n", "hello world: 1160\n", "hello world: 1161\n", "hello world: 1162\n", "hello world: 1163\n", "hello world: 1164\n", "hello world: 1165\n", "hello world: 1166\n", "hello world: 1167\n", "hello world: 1168\n", "hello world: 1169\n", "hello world: 1170\n", "hello world: 1171\n", "hello world: 1172\n", "hello world: 1173\n", "hello world: 1174\n", "hello world: 1175\n", "hello world: 1176\n", "hello world: 1177\n", "hello world: 1178\n", "hello world: 1179\n", "hello world: 1180\n", "hello world: 1181\n", "hello world: 1182\n", "hello world: 1183\n", "hello world: 1184\n", "hello world: 1185\n", "hello world: 1186\n", "hello world: 1187\n", "hello world: 1188\n", "hello world: 1189\n", "hello world: 1190\n", "hello world: 1191\n", "hello world: 1192\n", "hello world: 1193\n", "hello world: 1194\n", "hello world: 1195\n", "hello world: 1196\n", "hello world: 1197\n", "hello world: 1198\n", "hello world: 1199\n", "hello world: 1200\n", "hello world: 1201\n", "hello world: 1202\n", "hello world: 1203\n", "hello world: 1204\n", "hello world: 1205\n", "hello world: 1206\n", "hello world: 1207\n", "hello world: 1208\n", "hello world: 1209\n", "hello world: 1210\n", "hello world: 1211\n", "hello world: 1212\n", "hello world: 1213\n", "hello world: 1214\n", "hello world: 1215\n", "hello world: 1216\n", "hello world: 1217\n", "hello world: 1218\n", "hello world: 1219\n", "hello world: 1220\n", "hello world: 1221\n", "hello world: 1222\n", "hello world: 1223\n", "hello world: 1224\n", "hello world: 1225\n", "hello world: 1226\n", "hello world: 1227\n", "hello world: 1228\n", "hello world: 1229\n", "hello world: 1230\n", "hello world: 1231\n", "hello world: 1232\n", "hello world: 1233\n", "hello world: 1234\n", "hello world: 1235\n", "hello world: 1236\n", "hello world: 1237\n", "hello world: 1238\n", "hello world: 1239\n", "hello world: 1240\n", "hello world: 1241\n", "hello world: 1242\n", "hello world: 1243\n", "hello world: 1244\n", "hello world: 1245\n", "hello world: 1246\n", "hello world: 1247\n", "hello world: 1248\n", "hello world: 1249\n", "hello world: 1250\n", "hello world: 1251\n", "hello world: 1252\n", "hello world: 1253\n", "hello world: 1254\n", "hello world: 1255\n", "hello world: 1256\n", "hello world: 1257\n", "hello world: 1258\n", "hello world: 1259\n", "hello world: 1260\n", "hello world: 1261\n", "hello world: 1262\n", "hello world: 1263\n", "hello world: 1264\n", "hello world: 1265\n", "hello world: 1266\n", "hello world: 1267\n", "hello world: 1268\n", "hello world: 1269\n", "hello world: 1270\n", "hello world: 1271\n", "hello world: 1272\n", "hello world: 1273\n", "hello world: 1274\n", "hello world: 1275\n", "hello world: 1276\n", "hello world: 1277\n", "hello world: 1278\n", "hello world: 1279\n", "hello world: 1280\n", "hello world: 1281\n", "hello world: 1282\n", "hello world: 1283\n", "hello world: 1284\n", "hello world: 1285\n", "hello world: 1286\n", "hello world: 1287\n", "hello world: 1288\n", "hello world: 1289\n", "hello world: 1290\n", "hello world: 1291\n", "hello world: 1292\n", "hello world: 1293\n", "hello world: 1294\n", "hello world: 1295\n", "hello world: 1296\n", "hello world: 1297\n", "hello world: 1298\n", "hello world: 1299\n", "hello world: 1300\n", "hello world: 1301\n", "hello world: 1302\n", "hello world: 1303\n", "hello world: 1304\n", "hello world: 1305\n", "hello world: 1306\n", "hello world: 1307\n", "hello world: 1308\n", "hello world: 1309\n", "hello world: 1310\n", "hello world: 1311\n", "hello world: 1312\n", "hello world: 1313\n", "hello world: 1314\n", "hello world: 1315\n", "hello world: 1316\n", "hello world: 1317\n", "hello world: 1318\n", "hello world: 1319\n", "hello world: 1320\n", "hello world: 1321\n", "hello world: 1322\n", "hello world: 1323\n", "hello world: 1324\n", "hello world: 1325\n", "hello world: 1326\n", "hello world: 1327\n", "hello world: 1328\n", "hello world: 1329\n", "hello world: 1330\n", "hello world: 1331\n", "hello world: 1332\n", "hello world: 1333\n", "hello world: 1334\n", "hello world: 1335\n", "hello world: 1336\n", "hello world: 1337\n", "hello world: 1338\n", "hello world: 1339\n", "hello world: 1340\n", "hello world: 1341\n", "hello world: 1342\n", "hello world: 1343\n", "hello world: 1344\n", "hello world: 1345\n", "hello world: 1346\n", "hello world: 1347\n", "hello world: 1348\n", "hello world: 1349\n", "hello world: 1350\n", "hello world: 1351\n", "hello world: 1352\n", "hello world: 1353\n", "hello world: 1354\n", "hello world: 1355\n", "hello world: 1356\n", "hello world: 1357\n", "hello world: 1358\n", "hello world: 1359\n", "hello world: 1360\n", "hello world: 1361\n", "hello world: 1362\n", "hello world: 1363\n", "hello world: 1364\n", "hello world: 1365\n", "hello world: 1366\n", "hello world: 1367\n", "hello world: 1368\n", "hello world: 1369\n", "hello world: 1370\n", "hello world: 1371\n", "hello world: 1372\n", "hello world: 1373\n", "hello world: 1374\n", "hello world: 1375\n", "hello world: 1376\n", "hello world: 1377\n", "hello world: 1378\n", "hello world: 1379\n", "hello world: 1380\n", "hello world: 1381\n", "hello world: 1382\n", "hello world: 1383\n", "hello world: 1384\n", "hello world: 1385\n", "hello world: 1386\n", "hello world: 1387\n", "hello world: 1388\n", "hello world: 1389\n", "hello world: 1390\n", "hello world: 1391\n", "hello world: 1392\n", "hello world: 1393\n", "hello world: 1394\n", "hello world: 1395\n", "hello world: 1396\n", "hello world: 1397\n", "hello world: 1398\n", "hello world: 1399\n", "hello world: 1400\n", "hello world: 1401\n", "hello world: 1402\n", "hello world: 1403\n", "hello world: 1404\n", "hello world: 1405\n", "hello world: 1406\n", "hello world: 1407\n", "hello world: 1408\n", "hello world: 1409\n", "hello world: 1410\n", "hello world: 1411\n", "hello world: 1412\n", "hello world: 1413\n", "hello world: 1414\n", "hello world: 1415\n", "hello world: 1416\n", "hello world: 1417\n", "hello world: 1418\n", "hello world: 1419\n", "hello world: 1420\n", "hello world: 1421\n", "hello world: 1422\n", "hello world: 1423\n", "hello world: 1424\n", "hello world: 1425\n", "hello world: 1426\n", "hello world: 1427\n", "hello world: 1428\n", "hello world: 1429\n", "hello world: 1430\n", "hello world: 1431\n", "hello world: 1432\n", "hello world: 1433\n", "hello world: 1434\n", "hello world: 1435\n", "hello world: 1436\n", "hello world: 1437\n", "hello world: 1438\n", "hello world: 1439\n", "hello world: 1440\n", "hello world: 1441\n", "hello world: 1442\n", "hello world: 1443\n", "hello world: 1444\n", "hello world: 1445\n", "hello world: 1446\n", "hello world: 1447\n", "hello world: 1448\n", "hello world: 1449\n", "hello world: 1450\n", "hello world: 1451\n", "hello world: 1452\n", "hello world: 1453\n", "hello world: 1454\n", "hello world: 1455\n", "hello world: 1456\n", "hello world: 1457\n", "hello world: 1458\n", "hello world: 1459\n", "hello world: 1460\n", "hello world: 1461\n", "hello world: 1462\n", "hello world: 1463\n", "hello world: 1464\n", "hello world: 1465\n", "hello world: 1466\n", "hello world: 1467\n", "hello world: 1468\n", "hello world: 1469\n", "hello world: 1470\n", "hello world: 1471\n", "hello world: 1472\n", "hello world: 1473\n", "hello world: 1474\n", "hello world: 1475\n", "hello world: 1476\n", "hello world: 1477\n", "hello world: 1478\n", "hello world: 1479\n", "hello world: 1480\n", "hello world: 1481\n", "hello world: 1482\n", "hello world: 1483\n", "hello world: 1484\n", "hello world: 1485\n", "hello world: 1486\n", "hello world: 1487\n", "hello world: 1488\n", "hello world: 1489\n", "hello world: 1490\n", "hello world: 1491\n", "hello world: 1492\n", "hello world: 1493\n", "hello world: 1494\n", "hello world: 1495\n", "hello world: 1496\n", "hello world: 1497\n", "hello world: 1498\n", "hello world: 1499\n", "hello world: 1500\n", "hello world: 1501\n", "hello world: 1502\n", "hello world: 1503\n", "hello world: 1504\n", "hello world: 1505\n", "hello world: 1506\n", "hello world: 1507\n", "hello world: 1508\n", "hello world: 1509\n", "hello world: 1510\n", "hello world: 1511\n", "hello world: 1512\n", "hello world: 1513\n", "hello world: 1514\n", "hello world: 1515\n", "hello world: 1516\n", "hello world: 1517\n", "hello world: 1518\n", "hello world: 1519\n", "hello world: 1520\n", "hello world: 1521\n", "hello world: 1522\n", "hello world: 1523\n", "hello world: 1524\n", "hello world: 1525\n", "hello world: 1526\n", "hello world: 1527\n", "hello world: 1528\n", "hello world: 1529\n", "hello world: 1530\n", "hello world: 1531\n", "hello world: 1532\n", "hello world: 1533\n", "hello world: 1534\n", "hello world: 1535\n", "hello world: 1536\n", "hello world: 1537\n", "hello world: 1538\n", "hello world: 1539\n", "hello world: 1540\n", "hello world: 1541\n", "hello world: 1542\n", "hello world: 1543\n", "hello world: 1544\n", "hello world: 1545\n", "hello world: 1546\n", "hello world: 1547\n", "hello world: 1548\n", "hello world: 1549\n", "hello world: 1550\n", "hello world: 1551\n", "hello world: 1552\n", "hello world: 1553\n", "hello world: 1554\n", "hello world: 1555\n", "hello world: 1556\n", "hello world: 1557\n", "hello world: 1558\n", "hello world: 1559\n", "hello world: 1560\n", "hello world: 1561\n", "hello world: 1562\n", "hello world: 1563\n", "hello world: 1564\n", "hello world: 1565\n", "hello world: 1566\n", "hello world: 1567\n", "hello world: 1568\n", "hello world: 1569\n", "hello world: 1570\n", "hello world: 1571\n", "hello world: 1572\n", "hello world: 1573\n", "hello world: 1574\n", "hello world: 1575\n", "hello world: 1576\n", "hello world: 1577\n", "hello world: 1578\n", "hello world: 1579\n", "hello world: 1580\n", "hello world: 1581\n", "hello world: 1582\n", "hello world: 1583\n", "hello world: 1584\n", "hello world: 1585\n", "hello world: 1586\n", "hello world: 1587\n", "hello world: 1588\n", "hello world: 1589\n", "hello world: 1590\n", "hello world: 1591\n", "hello world: 1592\n", "hello world: 1593\n", "hello world: 1594\n", "hello world: 1595\n", "hello world: 1596\n", "hello world: 1597\n", "hello world: 1598\n", "hello world: 1599\n", "hello world: 1600\n", "hello world: 1601\n", "hello world: 1602\n", "hello world: 1603\n", "hello world: 1604\n", "hello world: 1605\n", "hello world: 1606\n", "hello world: 1607\n", "hello world: 1608\n", "hello world: 1609\n", "hello world: 1610\n", "hello world: 1611\n", "hello world: 1612\n", "hello world: 1613\n", "hello world: 1614\n", "hello world: 1615\n", "hello world: 1616\n", "hello world: 1617\n", "hello world: 1618\n", "hello world: 1619\n", "hello world: 1620\n", "hello world: 1621\n", "hello world: 1622\n", "hello world: 1623\n", "hello world: 1624\n", "hello world: 1625\n", "hello world: 1626\n", "hello world: 1627\n", "hello world: 1628\n", "hello world: 1629\n", "hello world: 1630\n", "hello world: 1631\n", "hello world: 1632\n", "hello world: 1633\n", "hello world: 1634\n", "hello world: 1635\n", "hello world: 1636\n", "hello world: 1637\n", "hello world: 1638\n", "hello world: 1639\n", "hello world: 1640\n", "hello world: 1641\n", "hello world: 1642\n", "hello world: 1643\n", "hello world: 1644\n", "hello world: 1645\n", "hello world: 1646\n", "hello world: 1647\n", "hello world: 1648\n", "hello world: 1649\n", "hello world: 1650\n", "hello world: 1651\n", "hello world: 1652\n", "hello world: 1653\n", "hello world: 1654\n", "hello world: 1655\n", "hello world: 1656\n", "hello world: 1657\n", "hello world: 1658\n", "hello world: 1659\n", "hello world: 1660\n", "hello world: 1661\n", "hello world: 1662\n", "hello world: 1663\n", "hello world: 1664\n", "hello world: 1665\n", "hello world: 1666\n", "hello world: 1667\n", "hello world: 1668\n", "hello world: 1669\n", "hello world: 1670\n", "hello world: 1671\n", "hello world: 1672\n", "hello world: 1673\n", "hello world: 1674\n", "hello world: 1675\n", "hello world: 1676\n", "hello world: 1677\n", "hello world: 1678\n", "hello world: 1679\n", "hello world: 1680\n", "hello world: 1681\n", "hello world: 1682\n", "hello world: 1683\n", "hello world: 1684\n", "hello world: 1685\n", "hello world: 1686\n", "hello world: 1687\n", "hello world: 1688\n", "hello world: 1689\n", "hello world: 1690\n", "hello world: 1691\n", "hello world: 1692\n", "hello world: 1693\n", "hello world: 1694\n", "hello world: 1695\n", "hello world: 1696\n", "hello world: 1697\n", "hello world: 1698\n", "hello world: 1699\n", "hello world: 1700\n", "hello world: 1701\n", "hello world: 1702\n", "hello world: 1703\n", "hello world: 1704\n", "hello world: 1705\n", "hello world: 1706\n", "hello world: 1707\n", "hello world: 1708\n", "hello world: 1709\n", "hello world: 1710\n", "hello world: 1711\n", "hello world: 1712\n", "hello world: 1713\n", "hello world: 1714\n", "hello world: 1715\n", "hello world: 1716\n", "hello world: 1717\n", "hello world: 1718\n", "hello world: 1719\n", "hello world: 1720\n", "hello world: 1721\n", "hello world: 1722\n", "hello world: 1723\n", "hello world: 1724\n", "hello world: 1725\n", "hello world: 1726\n", "hello world: 1727\n", "hello world: 1728\n", "hello world: 1729\n", "hello world: 1730\n", "hello world: 1731\n", "hello world: 1732\n", "hello world: 1733\n", "hello world: 1734\n", "hello world: 1735\n", "hello world: 1736\n", "hello world: 1737\n", "hello world: 1738\n", "hello world: 1739\n", "hello world: 1740\n", "hello world: 1741\n", "hello world: 1742\n", "hello world: 1743\n", "hello world: 1744\n", "hello world: 1745\n", "hello world: 1746\n", "hello world: 1747\n", "hello world: 1748\n", "hello world: 1749\n", "hello world: 1750\n", "hello world: 1751\n", "hello world: 1752\n", "hello world: 1753\n", "hello world: 1754\n", "hello world: 1755\n", "hello world: 1756\n", "hello world: 1757\n", "hello world: 1758\n", "hello world: 1759\n", "hello world: 1760\n", "hello world: 1761\n", "hello world: 1762\n", "hello world: 1763\n", "hello world: 1764\n", "hello world: 1765\n", "hello world: 1766\n", "hello world: 1767\n", "hello world: 1768\n", "hello world: 1769\n", "hello world: 1770\n", "hello world: 1771\n", "hello world: 1772\n", "hello world: 1773\n", "hello world: 1774\n", "hello world: 1775\n", "hello world: 1776\n", "hello world: 1777\n", "hello world: 1778\n", "hello world: 1779\n", "hello world: 1780\n", "hello world: 1781\n", "hello world: 1782\n", "hello world: 1783\n", "hello world: 1784\n", "hello world: 1785\n", "hello world: 1786\n", "hello world: 1787\n", "hello world: 1788\n", "hello world: 1789\n", "hello world: 1790\n", "hello world: 1791\n", "hello world: 1792\n", "hello world: 1793\n", "hello world: 1794\n", "hello world: 1795\n", "hello world: 1796\n", "hello world: 1797\n", "hello world: 1798\n", "hello world: 1799\n", "hello world: 1800\n", "hello world: 1801\n", "hello world: 1802\n", "hello world: 1803\n", "hello world: 1804\n", "hello world: 1805\n", "hello world: 1806\n", "hello world: 1807\n", "hello world: 1808\n", "hello world: 1809\n", "hello world: 1810\n", "hello world: 1811\n", "hello world: 1812\n", "hello world: 1813\n", "hello world: 1814\n", "hello world: 1815\n", "hello world: 1816\n", "hello world: 1817\n", "hello world: 1818\n", "hello world: 1819\n", "hello world: 1820\n", "hello world: 1821\n", "hello world: 1822\n", "hello world: 1823\n", "hello world: 1824\n", "hello world: 1825\n", "hello world: 1826\n", "hello world: 1827\n", "hello world: 1828\n", "hello world: 1829\n", "hello world: 1830\n", "hello world: 1831\n", "hello world: 1832\n", "hello world: 1833\n", "hello world: 1834\n", "hello world: 1835\n", "hello world: 1836\n", "hello world: 1837\n", "hello world: 1838\n", "hello world: 1839\n", "hello world: 1840\n", "hello world: 1841\n", "hello world: 1842\n", "hello world: 1843\n", "hello world: 1844\n", "hello world: 1845\n", "hello world: 1846\n", "hello world: 1847\n", "hello world: 1848\n", "hello world: 1849\n", "hello world: 1850\n", "hello world: 1851\n", "hello world: 1852\n", "hello world: 1853\n", "hello world: 1854\n", "hello world: 1855\n", "hello world: 1856\n", "hello world: 1857\n", "hello world: 1858\n", "hello world: 1859\n", "hello world: 1860\n", "hello world: 1861\n", "hello world: 1862\n", "hello world: 1863\n", "hello world: 1864\n", "hello world: 1865\n", "hello world: 1866\n", "hello world: 1867\n", "hello world: 1868\n", "hello world: 1869\n", "hello world: 1870\n", "hello world: 1871\n", "hello world: 1872\n", "hello world: 1873\n", "hello world: 1874\n", "hello world: 1875\n", "hello world: 1876\n", "hello world: 1877\n", "hello world: 1878\n", "hello world: 1879\n", "hello world: 1880\n", "hello world: 1881\n", "hello world: 1882\n", "hello world: 1883\n", "hello world: 1884\n", "hello world: 1885\n", "hello world: 1886\n", "hello world: 1887\n", "hello world: 1888\n", "hello world: 1889\n", "hello world: 1890\n", "hello world: 1891\n", "hello world: 1892\n", "hello world: 1893\n", "hello world: 1894\n", "hello world: 1895\n", "hello world: 1896\n", "hello world: 1897\n", "hello world: 1898\n", "hello world: 1899\n", "hello world: 1900\n", "hello world: 1901\n", "hello world: 1902\n", "hello world: 1903\n", "hello world: 1904\n", "hello world: 1905\n", "hello world: 1906\n", "hello world: 1907\n", "hello world: 1908\n", "hello world: 1909\n", "hello world: 1910\n", "hello world: 1911\n", "hello world: 1912\n", "hello world: 1913\n", "hello world: 1914\n", "hello world: 1915\n", "hello world: 1916\n", "hello world: 1917\n", "hello world: 1918\n", "hello world: 1919\n", "hello world: 1920\n", "hello world: 1921\n", "hello world: 1922\n", "hello world: 1923\n", "hello world: 1924\n", "hello world: 1925\n", "hello world: 1926\n", "hello world: 1927\n", "hello world: 1928\n", "hello world: 1929\n", "hello world: 1930\n", "hello world: 1931\n", "hello world: 1932\n", "hello world: 1933\n", "hello world: 1934\n", "hello world: 1935\n", "hello world: 1936\n", "hello world: 1937\n", "hello world: 1938\n", "hello world: 1939\n", "hello world: 1940\n", "hello world: 1941\n", "hello world: 1942\n", "hello world: 1943\n", "hello world: 1944\n", "hello world: 1945\n", "hello world: 1946\n", "hello world: 1947\n", "hello world: 1948\n", "hello world: 1949\n", "hello world: 1950\n", "hello world: 1951\n", "hello world: 1952\n", "hello world: 1953\n", "hello world: 1954\n", "hello world: 1955\n", "hello world: 1956\n", "hello world: 1957\n", "hello world: 1958\n", "hello world: 1959\n", "hello world: 1960\n", "hello world: 1961\n", "hello world: 1962\n", "hello world: 1963\n", "hello world: 1964\n", "hello world: 1965\n", "hello world: 1966\n", "hello world: 1967\n", "hello world: 1968\n", "hello world: 1969\n", "hello world: 1970\n", "hello world: 1971\n", "hello world: 1972\n", "hello world: 1973\n", "hello world: 1974\n", "hello world: 1975\n", "hello world: 1976\n", "hello world: 1977\n", "hello world: 1978\n", "hello world: 1979\n", "hello world: 1980\n", "hello world: 1981\n", "hello world: 1982\n", "hello world: 1983\n", "hello world: 1984\n", "hello world: 1985\n", "hello world: 1986\n", "hello world: 1987\n", "hello world: 1988\n", "hello world: 1989\n", "hello world: 1990\n", "hello world: 1991\n", "hello world: 1992\n", "hello world: 1993\n", "hello world: 1994\n", "hello world: 1995\n", "hello world: 1996\n", "hello world: 1997\n", "hello world: 1998\n", "hello world: 1999\n", "hello world: 2000\n", "hello world: 2001\n", "hello world: 2002\n", "hello world: 2003\n", "hello world: 2004\n", "hello world: 2005\n", "hello world: 2006\n", "hello world: 2007\n", "hello world: 2008\n", "hello world: 2009\n", "hello world: 2010\n", "hello world: 2011\n", "hello world: 2012\n", "hello world: 2013\n", "hello world: 2014\n", "hello world: 2015\n", "hello world: 2016\n", "hello world: 2017\n", "hello world: 2018\n", "hello world: 2019\n", "hello world: 2020\n", "hello world: 2021\n", "hello world: 2022\n", "hello world: 2023\n", "hello world: 2024\n", "hello world: 2025\n", "hello world: 2026\n", "hello world: 2027\n", "hello world: 2028\n", "hello world: 2029\n", "hello world: 2030\n", "hello world: 2031\n", "hello world: 2032\n", "hello world: 2033\n", "hello world: 2034\n", "hello world: 2035\n", "hello world: 2036\n", "hello world: 2037\n", "hello world: 2038\n", "hello world: 2039\n", "hello world: 2040\n", "hello world: 2041\n", "hello world: 2042\n", "hello world: 2043\n", "hello world: 2044\n", "hello world: 2045\n", "hello world: 2046\n", "hello world: 2047\n", "hello world: 2048\n", "hello world: 2049\n", "hello world: 2050\n", "hello world: 2051\n", "hello world: 2052\n", "hello world: 2053\n", "hello world: 2054\n", "hello world: 2055\n", "hello world: 2056\n", "hello world: 2057\n", "hello world: 2058\n", "hello world: 2059\n", "hello world: 2060\n", "hello world: 2061\n", "hello world: 2062\n", "hello world: 2063\n", "hello world: 2064\n", "hello world: 2065\n", "hello world: 2066\n", "hello world: 2067\n", "hello world: 2068\n", "hello world: 2069\n", "hello world: 2070\n", "hello world: 2071\n", "hello world: 2072\n", "hello world: 2073\n", "hello world: 2074\n", "hello world: 2075\n", "hello world: 2076\n", "hello world: 2077\n", "hello world: 2078\n", "hello world: 2079\n", "hello world: 2080\n", "hello world: 2081\n", "hello world: 2082\n", "hello world: 2083\n", "hello world: 2084\n", "hello world: 2085\n", "hello world: 2086\n", "hello world: 2087\n", "hello world: 2088\n", "hello world: 2089\n", "hello world: 2090\n", "hello world: 2091\n", "hello world: 2092\n", "hello world: 2093\n", "hello world: 2094\n", "hello world: 2095\n", "hello world: 2096\n", "hello world: 2097\n", "hello world: 2098\n", "hello world: 2099\n", "hello world: 2100\n", "hello world: 2101\n", "hello world: 2102\n", "hello world: 2103\n", "hello world: 2104\n", "hello world: 2105\n", "hello world: 2106\n", "hello world: 2107\n", "hello world: 2108\n", "hello world: 2109\n", "hello world: 2110\n", "hello world: 2111\n", "hello world: 2112\n", "hello world: 2113\n", "hello world: 2114\n", "hello world: 2115\n", "hello world: 2116\n", "hello world: 2117\n", "hello world: 2118\n", "hello world: 2119\n", "hello world: 2120\n", "hello world: 2121\n", "hello world: 2122\n", "hello world: 2123\n", "hello world: 2124\n", "hello world: 2125\n", "hello world: 2126\n", "hello world: 2127\n", "hello world: 2128\n", "hello world: 2129\n", "hello world: 2130\n", "hello world: 2131\n", "hello world: 2132\n", "hello world: 2133\n", "hello world: 2134\n", "hello world: 2135\n", "hello world: 2136\n", "hello world: 2137\n", "hello world: 2138\n", "hello world: 2139\n", "hello world: 2140\n", "hello world: 2141\n", "hello world: 2142\n", "hello world: 2143\n", "hello world: 2144\n", "hello world: 2145\n", "hello world: 2146\n", "hello world: 2147\n", "hello world: 2148\n", "hello world: 2149\n", "hello world: 2150\n", "hello world: 2151\n", "hello world: 2152\n", "hello world: 2153\n", "hello world: 2154\n", "hello world: 2155\n", "hello world: 2156\n", "hello world: 2157\n", "hello world: 2158\n", "hello world: 2159\n", "hello world: 2160\n", "hello world: 2161\n", "hello world: 2162\n", "hello world: 2163\n", "hello world: 2164\n", "hello world: 2165\n", "hello world: 2166\n", "hello world: 2167\n", "hello world: 2168\n", "hello world: 2169\n", "hello world: 2170\n", "hello world: 2171\n", "hello world: 2172\n", "hello world: 2173\n", "hello world: 2174\n", "hello world: 2175\n", "hello world: 2176\n", "hello world: 2177\n", "hello world: 2178\n", "hello world: 2179\n", "hello world: 2180\n", "hello world: 2181\n", "hello world: 2182\n", "hello world: 2183\n", "hello world: 2184\n", "hello world: 2185\n", "hello world: 2186\n", "hello world: 2187\n", "hello world: 2188\n", "hello world: 2189\n", "hello world: 2190\n", "hello world: 2191\n", "hello world: 2192\n", "hello world: 2193\n", "hello world: 2194\n", "hello world: 2195\n", "hello world: 2196\n", "hello world: 2197\n", "hello world: 2198\n", "hello world: 2199\n", "hello world: 2200\n", "hello world: 2201\n", "hello world: 2202\n", "hello world: 2203\n", "hello world: 2204\n", "hello world: 2205\n", "hello world: 2206\n", "hello world: 2207\n", "hello world: 2208\n", "hello world: 2209\n", "hello world: 2210\n", "hello world: 2211\n", "hello world: 2212\n", "hello world: 2213\n", "hello world: 2214\n", "hello world: 2215\n", "hello world: 2216\n", "hello world: 2217\n", "hello world: 2218\n", "hello world: 2219\n", "hello world: 2220\n", "hello world: 2221\n", "hello world: 2222\n", "hello world: 2223\n", "hello world: 2224\n", "hello world: 2225\n", "hello world: 2226\n", "hello world: 2227\n", "hello world: 2228\n", "hello world: 2229\n", "hello world: 2230\n", "hello world: 2231\n", "hello world: 2232\n", "hello world: 2233\n", "hello world: 2234\n", "hello world: 2235\n", "hello world: 2236\n", "hello world: 2237\n", "hello world: 2238\n", "hello world: 2239\n", "hello world: 2240\n", "hello world: 2241\n", "hello world: 2242\n", "hello world: 2243\n", "hello world: 2244\n", "hello world: 2245\n", "hello world: 2246\n", "hello world: 2247\n", "hello world: 2248\n", "hello world: 2249\n", "hello world: 2250\n", "hello world: 2251\n", "hello world: 2252\n", "hello world: 2253\n", "hello world: 2254\n", "hello world: 2255\n", "hello world: 2256\n", "hello world: 2257\n", "hello world: 2258\n", "hello world: 2259\n", "hello world: 2260\n", "hello world: 2261\n", "hello world: 2262\n", "hello world: 2263\n", "hello world: 2264\n", "hello world: 2265\n", "hello world: 2266\n", "hello world: 2267\n", "hello world: 2268\n", "hello world: 2269\n", "hello world: 2270\n", "hello world: 2271\n", "hello world: 2272\n", "hello world: 2273\n", "hello world: 2274\n", "hello world: 2275\n", "hello world: 2276\n", "hello world: 2277\n", "hello world: 2278\n", "hello world: 2279\n", "hello world: 2280\n", "hello world: 2281\n", "hello world: 2282\n", "hello world: 2283\n", "hello world: 2284\n", "hello world: 2285\n", "hello world: 2286\n", "hello world: 2287\n", "hello world: 2288\n", "hello world: 2289\n", "hello world: 2290\n", "hello world: 2291\n", "hello world: 2292\n", "hello world: 2293\n", "hello world: 2294\n", "hello world: 2295\n", "hello world: 2296\n", "hello world: 2297\n", "hello world: 2298\n", "hello world: 2299\n", "hello world: 2300\n", "hello world: 2301\n", "hello world: 2302\n", "hello world: 2303\n", "hello world: 2304\n", "hello world: 2305\n", "hello world: 2306\n", "hello world: 2307\n", "hello world: 2308\n", "hello world: 2309\n", "hello world: 2310\n", "hello world: 2311\n", "hello world: 2312\n", "hello world: 2313\n", "hello world: 2314\n", "hello world: 2315\n", "hello world: 2316\n", "hello world: 2317\n", "hello world: 2318\n", "hello world: 2319\n", "hello world: 2320\n", "hello world: 2321\n", "hello world: 2322\n", "hello world: 2323\n", "hello world: 2324\n", "hello world: 2325\n", "hello world: 2326\n", "hello world: 2327\n", "hello world: 2328\n", "hello world: 2329\n", "hello world: 2330\n", "hello world: 2331\n", "hello world: 2332\n", "hello world: 2333\n", "hello world: 2334\n", "hello world: 2335\n", "hello world: 2336\n", "hello world: 2337\n", "hello world: 2338\n", "hello world: 2339\n", "hello world: 2340\n", "hello world: 2341\n", "hello world: 2342\n", "hello world: 2343\n", "hello world: 2344\n", "hello world: 2345\n", "hello world: 2346\n", "hello world: 2347\n", "hello world: 2348\n", "hello world: 2349\n", "hello world: 2350\n", "hello world: 2351\n", "hello world: 2352\n", "hello world: 2353\n", "hello world: 2354\n", "hello world: 2355\n", "hello world: 2356\n", "hello world: 2357\n", "hello world: 2358\n", "hello world: 2359\n", "hello world: 2360\n", "hello world: 2361\n", "hello world: 2362\n", "hello world: 2363\n", "hello world: 2364\n", "hello world: 2365\n", "hello world: 2366\n", "hello world: 2367\n", "hello world: 2368\n", "hello world: 2369\n", "hello world: 2370\n", "hello world: 2371\n", "hello world: 2372\n", "hello world: 2373\n", "hello world: 2374\n", "hello world: 2375\n", "hello world: 2376\n", "hello world: 2377\n", "hello world: 2378\n", "hello world: 2379\n", "hello world: 2380\n", "hello world: 2381\n", "hello world: 2382\n", "hello world: 2383\n", "hello world: 2384\n", "hello world: 2385\n", "hello world: 2386\n", "hello world: 2387\n", "hello world: 2388\n", "hello world: 2389\n", "hello world: 2390\n", "hello world: 2391\n", "hello world: 2392\n", "hello world: 2393\n", "hello world: 2394\n", "hello world: 2395\n", "hello world: 2396\n", "hello world: 2397\n", "hello world: 2398\n", "hello world: 2399\n", "hello world: 2400\n", "hello world: 2401\n", "hello world: 2402\n", "hello world: 2403\n", "hello world: 2404\n", "hello world: 2405\n", "hello world: 2406\n", "hello world: 2407\n", "hello world: 2408\n", "hello world: 2409\n", "hello world: 2410\n", "hello world: 2411\n", "hello world: 2412\n", "hello world: 2413\n", "hello world: 2414\n", "hello world: 2415\n", "hello world: 2416\n", "hello world: 2417\n", "hello world: 2418\n", "hello world: 2419\n", "hello world: 2420\n", "hello world: 2421\n", "hello world: 2422\n", "hello world: 2423\n", "hello world: 2424\n", "hello world: 2425\n", "hello world: 2426\n", "hello world: 2427\n", "hello world: 2428\n", "hello world: 2429\n", "hello world: 2430\n", "hello world: 2431\n", "hello world: 2432\n", "hello world: 2433\n", "hello world: 2434\n", "hello world: 2435\n", "hello world: 2436\n", "hello world: 2437\n", "hello world: 2438\n", "hello world: 2439\n", "hello world: 2440\n", "hello world: 2441\n", "hello world: 2442\n", "hello world: 2443\n", "hello world: 2444\n", "hello world: 2445\n", "hello world: 2446\n", "hello world: 2447\n", "hello world: 2448\n", "hello world: 2449\n", "hello world: 2450\n", "hello world: 2451\n", "hello world: 2452\n", "hello world: 2453\n", "hello world: 2454\n", "hello world: 2455\n", "hello world: 2456\n", "hello world: 2457\n", "hello world: 2458\n", "hello world: 2459\n", "hello world: 2460\n", "hello world: 2461\n", "hello world: 2462\n", "hello world: 2463\n", "hello world: 2464\n", "hello world: 2465\n", "hello world: 2466\n", "hello world: 2467\n", "hello world: 2468\n", "hello world: 2469\n", "hello world: 2470\n", "hello world: 2471\n", "hello world: 2472\n", "hello world: 2473\n", "hello world: 2474\n", "hello world: 2475\n", "hello world: 2476\n", "hello world: 2477\n", "hello world: 2478\n", "hello world: 2479\n", "hello world: 2480\n", "hello world: 2481\n", "hello world: 2482\n", "hello world: 2483\n", "hello world: 2484\n", "hello world: 2485\n", "hello world: 2486\n", "hello world: 2487\n", "hello world: 2488\n", "hello world: 2489\n", "hello world: 2490\n", "hello world: 2491\n", "hello world: 2492\n", "hello world: 2493\n", "hello world: 2494\n", "hello world: 2495\n", "hello world: 2496\n", "hello world: 2497\n", "hello world: 2498\n", "hello world: 2499\n", "hello world: 2500\n", "hello world: 2501\n", "hello world: 2502\n", "hello world: 2503\n", "hello world: 2504\n", "hello world: 2505\n", "hello world: 2506\n", "hello world: 2507\n", "hello world: 2508\n", "hello world: 2509\n", "hello world: 2510\n", "hello world: 2511\n", "hello world: 2512\n", "hello world: 2513\n", "hello world: 2514\n", "hello world: 2515\n", "hello world: 2516\n", "hello world: 2517\n", "hello world: 2518\n", "hello world: 2519\n", "hello world: 2520\n", "hello world: 2521\n", "hello world: 2522\n", "hello world: 2523\n", "hello world: 2524\n", "hello world: 2525\n", "hello world: 2526\n", "hello world: 2527\n", "hello world: 2528\n", "hello world: 2529\n", "hello world: 2530\n", "hello world: 2531\n", "hello world: 2532\n", "hello world: 2533\n", "hello world: 2534\n", "hello world: 2535\n", "hello world: 2536\n", "hello world: 2537\n", "hello world: 2538\n", "hello world: 2539\n", "hello world: 2540\n", "hello world: 2541\n", "hello world: 2542\n", "hello world: 2543\n", "hello world: 2544\n", "hello world: 2545\n", "hello world: 2546\n", "hello world: 2547\n", "hello world: 2548\n", "hello world: 2549\n", "hello world: 2550\n", "hello world: 2551\n", "hello world: 2552\n", "hello world: 2553\n", "hello world: 2554\n", "hello world: 2555\n", "hello world: 2556\n", "hello world: 2557\n", "hello world: 2558\n", "hello world: 2559\n", "hello world: 2560\n", "hello world: 2561\n", "hello world: 2562\n", "hello world: 2563\n", "hello world: 2564\n", "hello world: 2565\n", "hello world: 2566\n", "hello world: 2567\n", "hello world: 2568\n", "hello world: 2569\n", "hello world: 2570\n", "hello world: 2571\n", "hello world: 2572\n", "hello world: 2573\n", "hello world: 2574\n", "hello world: 2575\n", "hello world: 2576\n", "hello world: 2577\n", "hello world: 2578\n", "hello world: 2579\n", "hello world: 2580\n", "hello world: 2581\n", "hello world: 2582\n", "hello world: 2583\n", "hello world: 2584\n", "hello world: 2585\n", "hello world: 2586\n", "hello world: 2587\n", "hello world: 2588\n", "hello world: 2589\n", "hello world: 2590\n", "hello world: 2591\n", "hello world: 2592\n", "hello world: 2593\n", "hello world: 2594\n", "hello world: 2595\n", "hello world: 2596\n", "hello world: 2597\n", "hello world: 2598\n", "hello world: 2599\n", "hello world: 2600\n", "hello world: 2601\n", "hello world: 2602\n", "hello world: 2603\n", "hello world: 2604\n", "hello world: 2605\n", "hello world: 2606\n", "hello world: 2607\n", "hello world: 2608\n", "hello world: 2609\n", "hello world: 2610\n", "hello world: 2611\n", "hello world: 2612\n", "hello world: 2613\n", "hello world: 2614\n", "hello world: 2615\n", "hello world: 2616\n", "hello world: 2617\n", "hello world: 2618\n", "hello world: 2619\n", "hello world: 2620\n", "hello world: 2621\n", "hello world: 2622\n", "hello world: 2623\n", "hello world: 2624\n", "hello world: 2625\n", "hello world: 2626\n", "hello world: 2627\n", "hello world: 2628\n", "hello world: 2629\n", "hello world: 2630\n", "hello world: 2631\n", "hello world: 2632\n", "hello world: 2633\n", "hello world: 2634\n", "hello world: 2635\n", "hello world: 2636\n", "hello world: 2637\n", "hello world: 2638\n", "hello world: 2639\n", "hello world: 2640\n", "hello world: 2641\n", "hello world: 2642\n", "hello world: 2643\n", "hello world: 2644\n", "hello world: 2645\n", "hello world: 2646\n", "hello world: 2647\n", "hello world: 2648\n", "hello world: 2649\n", "hello world: 2650\n", "hello world: 2651\n", "hello world: 2652\n", "hello world: 2653\n", "hello world: 2654\n", "hello world: 2655\n", "hello world: 2656\n", "hello world: 2657\n", "hello world: 2658\n", "hello world: 2659\n", "hello world: 2660\n", "hello world: 2661\n", "hello world: 2662\n", "hello world: 2663\n", "hello world: 2664\n", "hello world: 2665\n", "hello world: 2666\n", "hello world: 2667\n", "hello world: 2668\n", "hello world: 2669\n", "hello world: 2670\n", "hello world: 2671\n", "hello world: 2672\n", "hello world: 2673\n", "hello world: 2674\n", "hello world: 2675\n", "hello world: 2676\n", "hello world: 2677\n", "hello world: 2678\n", "hello world: 2679\n", "hello world: 2680\n", "hello world: 2681\n", "hello world: 2682\n", "hello world: 2683\n", "hello world: 2684\n", "hello world: 2685\n", "hello world: 2686\n", "hello world: 2687\n", "hello world: 2688\n", "hello world: 2689\n", "hello world: 2690\n", "hello world: 2691\n", "hello world: 2692\n", "hello world: 2693\n", "hello world: 2694\n", "hello world: 2695\n", "hello world: 2696\n", "hello world: 2697\n", "hello world: 2698\n", "hello world: 2699\n", "hello world: 2700\n", "hello world: 2701\n", "hello world: 2702\n", "hello world: 2703\n", "hello world: 2704\n", "hello world: 2705\n", "hello world: 2706\n", "hello world: 2707\n", "hello world: 2708\n", "hello world: 2709\n", "hello world: 2710\n", "hello world: 2711\n", "hello world: 2712\n", "hello world: 2713\n", "hello world: 2714\n", "hello world: 2715\n", "hello world: 2716\n", "hello world: 2717\n", "hello world: 2718\n", "hello world: 2719\n", "hello world: 2720\n", "hello world: 2721\n", "hello world: 2722\n", "hello world: 2723\n", "hello world: 2724\n", "hello world: 2725\n", "hello world: 2726\n", "hello world: 2727\n", "hello world: 2728\n", "hello world: 2729\n", "hello world: 2730\n", "hello world: 2731\n", "hello world: 2732\n", "hello world: 2733\n", "hello world: 2734\n", "hello world: 2735\n", "hello world: 2736\n", "hello world: 2737\n", "hello world: 2738\n", "hello world: 2739\n", "hello world: 2740\n", "hello world: 2741\n", "hello world: 2742\n", "hello world: 2743\n", "hello world: 2744\n", "hello world: 2745\n", "hello world: 2746\n", "hello world: 2747\n", "hello world: 2748\n", "hello world: 2749\n", "hello world: 2750\n", "hello world: 2751\n", "hello world: 2752\n", "hello world: 2753\n", "hello world: 2754\n", "hello world: 2755\n", "hello world: 2756\n", "hello world: 2757\n", "hello world: 2758\n", "hello world: 2759\n", "hello world: 2760\n", "hello world: 2761\n", "hello world: 2762\n", "hello world: 2763\n", "hello world: 2764\n", "hello world: 2765\n", "hello world: 2766\n", "hello world: 2767\n", "hello world: 2768\n", "hello world: 2769\n", "hello world: 2770\n", "hello world: 2771\n", "hello world: 2772\n", "hello world: 2773\n", "hello world: 2774\n", "hello world: 2775\n", "hello world: 2776\n", "hello world: 2777\n", "hello world: 2778\n", "hello world: 2779\n", "hello world: 2780\n", "hello world: 2781\n", "hello world: 2782\n", "hello world: 2783\n", "hello world: 2784\n", "hello world: 2785\n", "hello world: 2786\n", "hello world: 2787\n", "hello world: 2788\n", "hello world: 2789\n", "hello world: 2790\n", "hello world: 2791\n", "hello \n" ] } ], "source": [ "f = open('newfile.txt','w')\n", "for i in range(3000):\n", " f.write('hello world: ' + str(i) + '\\n')\n", "\n", "g = open('newfile.txt', 'r')\n", "print g.read()\n", "f.close()\n", "g.close()" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import os\n", "os.remove('newfile.txt')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "出现异常时候的读写:" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false }, "outputs": [ { "ename": "ZeroDivisionError", "evalue": "float division by zero", "output_type": "error", "traceback": [ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[1;31mZeroDivisionError\u001b[0m Traceback (most recent call last)", "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[0mf\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mopen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'newfile.txt'\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;34m'w'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m3000\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 3\u001b[1;33m \u001b[0mx\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;36m1.0\u001b[0m \u001b[1;33m/\u001b[0m \u001b[1;33m(\u001b[0m\u001b[0mi\u001b[0m \u001b[1;33m-\u001b[0m \u001b[1;36m1000\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 4\u001b[0m \u001b[0mf\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mwrite\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'hello world: '\u001b[0m \u001b[1;33m+\u001b[0m \u001b[0mstr\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m+\u001b[0m \u001b[1;34m'\\n'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;31mZeroDivisionError\u001b[0m: float division by zero" ] } ], "source": [ "f = open('newfile.txt','w')\n", "for i in range(3000):\n", " x = 1.0 / (i - 1000)\n", " f.write('hello world: ' + str(i) + '\\n')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "查看已有内容:" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "hello world: 0\n", "hello world: 1\n", "hello world: 2\n", "hello world: 3\n", "hello world: 4\n", "hello world: 5\n", "hello world: 6\n", "hello world: 7\n", "hello world: 8\n", "hello world: 9\n", "hello world: 10\n", "hello world: 11\n", "hello world: 12\n", "hello world: 13\n", "hello world: 14\n", "hello world: 15\n", "hello world: 16\n", "hello world: 17\n", "hello world: 18\n", "hello world: 19\n", "hello world: 20\n", "hello world: 21\n", "hello world: 22\n", "hello world: 23\n", "hello world: 24\n", "hello world: 25\n", "hello world: 26\n", "hello world: 27\n", "hello world: 28\n", "hello world: 29\n", "hello world: 30\n", "hello world: 31\n", "hello world: 32\n", "hello world: 33\n", "hello world: 34\n", "hello world: 35\n", "hello world: 36\n", "hello world: 37\n", "hello world: 38\n", "hello world: 39\n", "hello world: 40\n", "hello world: 41\n", "hello world: 42\n", "hello world: 43\n", "hello world: 44\n", "hello world: 45\n", "hello world: 46\n", "hello world: 47\n", "hello world: 48\n", "hello world: 49\n", "hello world: 50\n", "hello world: 51\n", "hello world: 52\n", "hello world: 53\n", "hello world: 54\n", "hello world: 55\n", "hello world: 56\n", "hello world: 57\n", "hello world: 58\n", "hello world: 59\n", "hello world: 60\n", "hello world: 61\n", "hello world: 62\n", "hello world: 63\n", "hello world: 64\n", "hello world: 65\n", "hello world: 66\n", "hello world: 67\n", "hello world: 68\n", "hello world: 69\n", "hello world: 70\n", "hello world: 71\n", "hello world: 72\n", "hello world: 73\n", "hello world: 74\n", "hello world: 75\n", "hello world: 76\n", "hello world: 77\n", "hello world: 78\n", "hello world: 79\n", "hello world: 80\n", "hello world: 81\n", "hello world: 82\n", "hello world: 83\n", "hello world: 84\n", "hello world: 85\n", "hello world: 86\n", "hello world: 87\n", "hello world: 88\n", "hello world: 89\n", "hello world: 90\n", "hello world: 91\n", "hello world: 92\n", "hello world: 93\n", "hello world: 94\n", "hello world: 95\n", "hello world: 96\n", "hello world: 97\n", "hello world: 98\n", "hello world: 99\n", "hello world: 100\n", "hello world: 101\n", "hello world: 102\n", "hello world: 103\n", "hello world: 104\n", "hello world: 105\n", "hello world: 106\n", "hello world: 107\n", "hello world: 108\n", "hello world: 109\n", "hello world: 110\n", "hello world: 111\n", "hello world: 112\n", "hello world: 113\n", "hello world: 114\n", "hello world: 115\n", "hello world: 116\n", "hello world: 117\n", "hello world: 118\n", "hello world: 119\n", "hello world: 120\n", "hello world: 121\n", "hello world: 122\n", "hello world: 123\n", "hello world: 124\n", "hello world: 125\n", "hello world: 126\n", "hello world: 127\n", "hello world: 128\n", "hello world: 129\n", "hello world: 130\n", "hello world: 131\n", "hello world: 132\n", "hello world: 133\n", "hello world: 134\n", "hello world: 135\n", "hello world: 136\n", "hello world: 137\n", "hello world: 138\n", "hello world: 139\n", "hello world: 140\n", "hello world: 141\n", "hello world: 142\n", "hello world: 143\n", "hello world: 144\n", "hello world: 145\n", "hello world: 146\n", "hello world: 147\n", "hello world: 148\n", "hello world: 149\n", "hello world: 150\n", "hello world: 151\n", "hello world: 152\n", "hello world: 153\n", "hello world: 154\n", "hello world: 155\n", "hello world: 156\n", "hello world: 157\n", "hello world: 158\n", "hello world: 159\n", "hello world: 160\n", "hello world: 161\n", "hello world: 162\n", "hello world: 163\n", "hello world: 164\n", "hello world: 165\n", "hello world: 166\n", "hello world: 167\n", "hello world: 168\n", "hello world: 169\n", "hello world: 170\n", "hello world: 171\n", "hello world: 172\n", "hello world: 173\n", "hello world: 174\n", "hello world: 175\n", "hello world: 176\n", "hello world: 177\n", "hello world: 178\n", "hello world: 179\n", "hello world: 180\n", "hello world: 181\n", "hello world: 182\n", "hello world: 183\n", "hello world: 184\n", "hello world: 185\n", "hello world: 186\n", "hello world: 187\n", "hello world: 188\n", "hello world: 189\n", "hello world: 190\n", "hello world: 191\n", "hello world: 192\n", "hello world: 193\n", "hello world: 194\n", "hello world: 195\n", "hello world: 196\n", "hello world: 197\n", "hello world: 198\n", "hello world: 199\n", "hello world: 200\n", "hello world: 201\n", "hello world: 202\n", "hello world: 203\n", "hello world: 204\n", "hello world: 205\n", "hello world: 206\n", "hello world: 207\n", "hello world: 208\n", "hello world: 209\n", "hello world: 210\n", "hello world: 211\n", "hello world: 212\n", "hello world: 213\n", "hello world: 214\n", "hello world: 215\n", "hello world: 216\n", "hello world: 217\n", "hello world: 218\n", "hello world: 219\n", "hello world: 220\n", "hello world: 221\n", "hello world: 222\n", "hello world: 223\n", "hello world: 224\n", "hello world: 225\n", "hello world: 226\n", "hello world: 227\n", "hello world: 228\n", "hello world: 229\n", "hello world: 230\n", "hello world: 231\n", "hello world: 232\n", "hello world: 233\n", "hello world: 234\n", "hello world: 235\n", "hello world: 236\n", "hello world: 237\n", "hello world: 238\n", "hello world: 239\n", "hello world: 240\n", "hello world: 241\n", "hello world: 242\n", "hello world: 243\n", "hello world: 244\n", "hello world: 245\n", "hello world: 246\n", "hello world: 247\n", "hello world: 248\n", "hello world: 249\n", "hello world: 250\n", "hello world: 251\n", "hello world: 252\n", "hello world: 253\n", "hello world: 254\n", "hello world: 255\n", "hello world: 256\n", "hello world: 257\n", "hello world: 258\n", "hello world: 259\n", "hello world: 260\n", "hello world: 261\n", "hello world: 262\n", "hello world: 263\n", "hello world: 264\n", "hello world: 265\n", "hello world: 266\n", "hello world: 267\n", "hello world: 268\n", "hello world: 269\n", "hello world: 270\n", "hello world: 271\n", "hello world: 272\n", "hello world: 273\n", "hello world: 274\n", "hello world: 275\n", "hello world: 276\n", "hello world: 277\n", "hello world: 278\n", "hello world: 279\n", "hello world: 280\n", "hello world: 281\n", "hello world: 282\n", "hello world: 283\n", "hello world: 284\n", "hello world: 285\n", "hello world: 286\n", "hello world: 287\n", "hello world: 288\n", "hello world: 289\n", "hello world: 290\n", "hello world: 291\n", "hello world: 292\n", "hello world: 293\n", "hello world: 294\n", "hello world: 295\n", "hello world: 296\n", "hello world: 297\n", "hello world: 298\n", "hello world: 299\n", "hello world: 300\n", "hello world: 301\n", "hello world: 302\n", "hello world: 303\n", "hello world: 304\n", "hello world: 305\n", "hello world: 306\n", "hello world: 307\n", "hello world: 308\n", "hello world: 309\n", "hello world: 310\n", "hello world: 311\n", "hello world: 312\n", "hello world: 313\n", "hello world: 314\n", "hello world: 315\n", "hello world: 316\n", "hello world: 317\n", "hello world: 318\n", "hello world: 319\n", "hello world: 320\n", "hello world: 321\n", "hello world: 322\n", "hello world: 323\n", "hello world: 324\n", "hello world: 325\n", "hello world: 326\n", "hello world: 327\n", "hello world: 328\n", "hello world: 329\n", "hello world: 330\n", "hello world: 331\n", "hello world: 332\n", "hello world: 333\n", "hello world: 334\n", "hello world: 335\n", "hello world: 336\n", "hello world: 337\n", "hello world: 338\n", "hello world: 339\n", "hello world: 340\n", "hello world: 341\n", "hello world: 342\n", "hello world: 343\n", "hello world: 344\n", "hello world: 345\n", "hello world: 346\n", "hello world: 347\n", "hello world: 348\n", "hello world: 349\n", "hello world: 350\n", "hello world: 351\n", "hello world: 352\n", "hello world: 353\n", "hello world: 354\n", "hello world: 355\n", "hello world: 356\n", "hello world: 357\n", "hello world: 358\n", "hello world: 359\n", "hello world: 360\n", "hello world: 361\n", "hello world: 362\n", "hello world: 363\n", "hello world: 364\n", "hello world: 365\n", "hello world: 366\n", "hello world: 367\n", "hello world: 368\n", "hello world: 369\n", "hello world: 370\n", "hello world: 371\n", "hello world: 372\n", "hello world: 373\n", "hello world: 374\n", "hello world: 375\n", "hello world: 376\n", "hello world: 377\n", "hello world: 378\n", "hello world: 379\n", "hello world: 380\n", "hello world: 381\n", "hello world: 382\n", "hello world: 383\n", "hello world: 384\n", "hello world: 385\n", "hello world: 386\n", "hello world: 387\n", "hello world: 388\n", "hello world: 389\n", "hello world: 390\n", "hello world: 391\n", "hello world: 392\n", "hello world: 393\n", "hello world: 394\n", "hello world: 395\n", "hello world: 396\n", "hello world: 397\n", "hello world: 398\n", "hello world: 399\n", "hello world: 400\n", "hello world: 401\n", "hello world: 402\n", "hello world: 403\n", "hello world: 404\n", "hello world: 405\n", "hello world: 406\n", "hello world: 407\n", "hello world: 408\n", "hello world: 409\n", "hello world: 410\n", "hello world: 411\n", "hello world: 412\n", "hello world: 413\n", "hello world: 414\n", "hello world: 415\n", "hello world: 416\n", "hello world: 417\n", "hello world: 418\n", "hello world: 419\n", "hello world: 420\n", "hello world: 421\n", "hello world: 422\n", "hello world: 423\n", "hello world: 424\n", "hello world: 425\n", "hello world: 426\n", "hello world: 427\n", "hello world: 428\n", "hello world: 429\n", "hello world: 430\n", "hello world: 431\n", "hello world: 432\n", "hello world: 433\n", "hello world: 434\n", "hello world: 435\n", "hello world: 436\n", "hello world: 437\n", "hello world: 438\n", "hello world: 439\n", "hello world: 440\n", "hello world: 441\n", "hello world: 442\n", "hello world: 443\n", "hello world: 444\n", "hello world: 445\n", "hello world: 446\n", "hello world: 447\n", "hello world: 448\n", "hello world: 449\n", "hello world: 450\n", "hello world: 451\n", "hello world: 452\n", "hello world: 453\n", "hello world: 454\n", "hello world: 455\n", "hello world: 456\n", "hello world: 457\n", "hello world: 458\n", "hello world: 459\n", "hello world: 460\n", "hello world: 461\n", "hello world: 462\n", "hello world: 463\n", "hello world: 464\n", "hello world: 465\n", "hello world: 466\n", "hello world: 467\n", "hello world: 468\n", "hello world: 469\n", "hello world: 470\n", "hello world: 471\n", "hello world: 472\n", "hello world: 473\n", "hello world: 474\n", "hello world: 475\n", "hello world: 476\n", "hello world: 477\n", "hello world: 478\n", "hello world: 479\n", "hello world: 480\n", "hello world: 481\n", "hello world: 482\n", "hello world: 483\n", "hello world: 484\n", "hello world: 485\n", "hello world: 486\n", "hello world: 487\n", "hello world: 488\n", "hello world: 489\n", "hello world: 490\n", "hello world: 491\n", "hello world: 492\n", "hello world: 493\n", "hello world: 494\n", "hello world: 495\n", "hello world: 496\n", "hello world: 497\n", "hello world: 498\n", "hello world: 499\n", "hello world: 500\n", "hello world: 501\n", "hello world: 502\n", "hello world: 503\n", "hello world: 504\n", "hello world: 505\n", "hello world: 506\n", "hello world: 507\n", "hello world: 508\n", "hello world: 509\n", "hello world: 510\n", "hello world: 511\n", "hello world: 512\n", "hello world: 513\n", "hello world: 514\n", "hello world: 515\n", "hello world: 516\n", "hello world: 517\n", "hello world: 518\n", "hello world: 519\n", "hello world: 520\n", "hello world: 521\n", "hello world: 522\n", "hello world: 523\n", "hello world: 524\n", "hello world: 525\n", "hello world: 526\n", "hello world: 527\n", "hello world: 528\n", "hello world: 529\n", "hello world: 530\n", "hello world: 531\n", "hello world: 532\n", "hello world: 533\n", "hello world: 534\n", "hello world: 535\n", "hello world: 536\n", "hello world: 537\n", "hello world: 538\n", "hello world: 539\n", "hello world: 540\n", "hello world: 541\n", "hello world: 542\n", "hello world: 543\n", "hello world: 544\n", "hello world: 545\n", "hello world: 546\n", "hello world: 547\n", "hello world: 548\n", "hello world: 549\n", "hello world: 550\n", "hello world: 551\n", "hello world: 552\n", "hello world: 553\n", "hello world: 554\n", "hello world: 555\n", "hello world: 556\n", "hello world: 557\n", "hello world: 558\n", "hello world: 559\n", "hello world: 560\n", "hello world: 561\n", "hello world: 562\n", "hello world: 563\n", "hello world: 564\n", "hello world: 565\n", "hello world: 566\n", "hello world: 567\n", "hello world: 568\n", "hello world: 569\n", "hello world: 570\n", "hello world: 571\n", "hello world: 572\n", "hello world: 573\n", "hello world: 574\n", "hello world: 575\n", "hello world: 576\n", "hello world: 577\n", "hello world: 578\n", "hello world: 579\n", "hello world: 580\n", "hello world: 581\n", "hello world: 582\n", "hello world: 583\n", "hello world: 584\n", "hello world: 585\n", "hello world: 586\n", "hello world: 587\n", "hello world: 588\n", "hello world: 589\n", "hello world: 590\n", "hello world: 591\n", "hello world: 592\n", "hello world: 593\n", "hello world: 594\n", "hello world: 595\n", "hello world: 596\n", "hello world: 597\n", "hello world: 598\n", "hello world: 599\n", "hello world: 600\n", "hello world: 601\n", "hello world: 602\n", "hello world: 603\n", "hello world: 604\n", "hello world: 605\n", "hello world: 606\n", "hello world: 607\n", "hello world: 608\n", "hello world: 609\n", "hello world: 610\n", "hello world: 611\n", "hello world: 612\n", "hello world: 613\n", "hello world: 614\n", "hello world: 615\n", "hello world: 616\n", "hello world: 617\n", "hello world: 618\n", "hello world: 619\n", "hello world: 620\n", "hello world: 621\n", "hello world: 622\n", "hello world: 623\n", "hello world: 624\n", "hello world: 625\n", "hello world: 626\n", "hello world: 627\n", "hello world: 628\n", "hello world: 629\n", "hello world: 630\n", "hello world: 631\n", "hello world: 632\n", "hello world: 633\n", "hello world: 634\n", "hello world: 635\n", "hello world: 636\n", "hello world: 637\n", "hello world: 638\n", "hello world: 639\n", "hello world: 640\n", "hello world: 641\n", "hello world: 642\n", "hello world: 643\n", "hello world: 644\n", "hello world: 645\n", "hello world: 646\n", "hello world: 647\n", "hello world: 648\n", "hello world: 649\n", "hello world: 650\n", "hello world: 651\n", "hello world: 652\n", "hello world: 653\n", "hello world: 654\n", "hello world: 655\n", "hello world: 656\n", "hello world: 657\n", "hello world: 658\n", "hello world: 659\n", "hello world: 660\n", "hello world: 661\n", "hello world: 662\n", "hello world: 663\n", "hello world: 664\n", "hello world: 665\n", "hello world: 666\n", "hello world: 667\n", "hello world: 668\n", "hello world: 669\n", "hello world: 670\n", "hello world: 671\n", "hello world: 672\n", "hello world: 673\n", "hello world: 674\n", "hello world: 675\n", "hello world: 676\n", "hello world: 677\n", "hello world: 678\n", "hello world: 679\n", "hello world: 680\n", "hello world: 681\n", "hello world: 682\n", "hello world: 683\n", "hello world: 684\n", "hello world: 685\n", "hello world: 686\n", "hello world: 687\n", "hello world: 688\n", "hello world: 689\n", "hello world: 690\n", "hello world: 691\n", "hello world: 692\n", "hello world: 693\n", "hello world: 694\n", "hello world: 695\n", "hello world: 696\n", "hello world: 697\n", "hello world: 698\n", "hello world: 699\n", "hello world: 700\n", "hello world: 701\n", "hello world: 702\n", "hello world: 703\n", "hello world: 704\n", "hello world: 705\n", "hello world: 706\n", "hello world: 707\n", "hello world: 708\n", "hello world: 709\n", "hello world: 710\n", "hello world: 711\n", "hello world: 712\n", "hello world: 713\n", "hello world: 714\n", "hello world: 715\n", "hello world: 716\n", "hello world: 717\n", "hello world: 718\n", "hello world: 719\n", "hello world: 720\n", "hello world: 721\n", "hello world: 722\n", "hello world: 723\n", "hello world: 724\n", "hello world: 725\n", "hello world: 726\n", "hello world: 727\n", "hello world: 728\n", "hello world: 729\n", "hello world: 730\n", "hello world: 731\n", "hello world: 732\n", "hello world: 733\n", "hello world: 734\n", "hello world: 735\n", "hello world: 736\n", "hello world: 737\n", "hello world: 738\n", "hello world: 739\n", "hello world: 740\n", "hello world: 741\n", "hello world: 742\n", "hello world: 743\n", "hello world: 744\n", "hello world: 745\n", "hello world: 746\n", "hello world: 747\n", "hello world: 748\n", "hello world: 749\n", "hello world: 750\n", "hello world: 751\n", "hello world: 752\n", "hello world: 753\n", "hello world: 754\n", "hello world: 755\n", "hello world: 756\n", "hello world: 757\n", "hello world: 758\n", "hello world: 759\n", "hello world: 760\n", "hello world: 761\n", "hello world: 762\n", "hello world: 763\n", "hello world: 764\n", "hello world: 765\n", "hello world: 766\n", "hello world: 767\n", "hello world: 768\n", "hello world: 769\n", "hello world: 770\n", "hello world: 771\n", "hello world: 772\n", "hello world: 773\n", "hello world: 774\n", "hello world: 775\n", "hello world: 776\n", "hello world: 777\n", "hello world: 778\n", "hello world: 779\n", "hello world: 780\n", "hello world: 781\n", "hello world: 782\n", "hello world: 783\n", "hello world: 784\n", "hello world: 785\n", "hello world: 786\n", "hello world: 787\n", "hello world: 788\n", "hello world: 789\n", "hello world: 790\n", "hello world: 791\n", "hello world: 792\n", "hello world: 793\n", "hello world: 794\n", "hello world: 795\n", "hello world: 796\n", "hello world: 797\n", "hello world: 798\n", "hello world: 799\n", "hello world: 800\n", "hello world: 801\n", "hello world: 802\n", "hello world: 803\n", "hello world: 804\n", "hello world: 805\n", "hello world: 806\n", "hello world: 807\n", "hello world: 808\n", "hello world: 809\n", "hello world: 810\n", "hello world: 811\n", "hello world: 812\n", "hello world: 813\n", "hello world: 814\n", "hello world: 815\n", "hello world: 816\n", "hello world: 817\n", "hello world: 818\n", "hello world: 819\n", "hello world: 820\n", "hello world: 821\n", "hello world: 822\n", "hello world: 823\n", "hello world: 824\n", "hello world: 825\n", "hello world: 826\n", "hello world: 827\n", "hello world: 828\n", "hello world: 829\n", "hello world: 830\n", "hello world: 831\n", "hello world: 832\n", "hello world: 833\n", "hello world: 834\n", "hello world: 835\n", "hello world: 836\n", "hello world: 837\n", "hello world: 838\n", "hello world: 839\n", "hello world: 840\n", "hello world: 841\n", "hello world: 842\n", "hello world: 843\n", "hello world: 844\n", "hello world: 845\n", "hello world: 846\n", "hello world: 847\n", "hello world: 848\n", "hello world: 849\n", "hello world: 850\n", "hello world: 851\n", "hello world: 852\n", "hello world: 853\n", "hello world: 854\n", "hello world: 855\n", "hello world: 856\n", "hello world: 857\n", "hello world: 858\n", "hello world: 859\n", "hello world: 860\n", "hello world: 861\n", "hello world: 862\n", "hello world: 863\n", "hello world: 864\n", "hello world: 865\n", "hello world: 866\n", "hello world: 867\n", "hello world: 868\n", "hello world: 869\n", "hello world: 870\n", "hello world: 871\n", "hello world: 872\n", "hello world: 873\n", "hello world: 874\n", "hello world: 875\n", "hello world: 876\n", "hello world: 877\n", "hello world: 878\n", "hello world: 879\n", "hello world: 880\n", "hello world: 881\n", "hello world: 882\n", "hello world: 883\n", "hello world: 884\n", "hello world: 885\n", "hello world: 886\n", "hello world: 887\n", "hello world: 888\n", "hello world: 889\n", "hello world: 890\n", "hello world: 891\n", "hello world: 892\n", "hello world: 893\n", "hello world: 894\n", "hello world: 895\n", "hello world: 896\n", "hello world: 897\n", "hello world: 898\n", "hello world: 899\n", "hello world: 900\n", "hello world: 901\n", "hello world: 902\n", "hello world: 903\n", "hello world: 904\n", "hello world: 905\n", "hello world: 906\n", "hello world: 907\n", "hello world: 908\n", "hello world: 909\n", "hello world: 910\n", "hello world: 911\n", "hello world: 912\n", "hello world: 913\n", "hello world: 914\n", "hello world: 915\n", "hello world: 916\n", "hello world: 917\n", "hello world: 918\n", "hello world: 919\n", "hello world: 920\n", "hello world: 921\n", "hello world: 922\n", "hello world: 923\n", "hello world: 924\n", "hello world: 925\n", "hello world: 926\n", "hello world: 927\n", "hello world: 928\n", "hello world: 929\n", "hello world: 930\n", "hello world: 931\n", "hello world: 932\n", "hello world: 933\n", "hello world: 934\n", "hello world: 935\n", "hello world: 936\n", "hello world: 937\n", "hello world: 938\n", "hello world: 939\n", "hello world: 940\n", "hello world: 941\n", "hello world: 942\n", "hello world: 943\n", "hello world: 944\n", "hello world: 945\n", "hello world: 946\n", "hello world: 947\n", "hello world: 948\n", "hello world: 949\n", "hello world: 950\n", "hello world: 951\n", "hello world: 952\n", "hello world: 953\n", "hello world: 954\n", "hello world: 955\n", "hello world: 956\n", "hello world: 957\n", "hello world: 958\n", "hello world: 959\n", "hello world: 960\n", "hello world: 961\n", "hello world: 962\n", "hello world: 963\n", "hello world: 964\n", "hello world: 965\n", "hello world: 966\n", "hello world: 967\n", "hello world: 968\n", "hello world: 969\n", "hell\n" ] } ], "source": [ "g = open('newfile.txt', 'r')\n", "print g.read()\n", "f.close()\n", "g.close()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "可以看到,出现异常的时候,磁盘的写入并没有完成,为此我们可以使用 `try/except/finally` 块来关闭文件,这里 `finally` 确保关闭文件,所有的写入已经完成。" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "something bad happened\n" ] } ], "source": [ "f = open('newfile.txt','w')\n", "try:\n", " for i in range(3000):\n", " x = 1.0 / (i - 1000)\n", " f.write('hello world: ' + str(i) + '\\n')\n", "except Exception:\n", " print \"something bad happened\"\n", "finally:\n", " f.close()" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "hello world: 0\n", "hello world: 1\n", "hello world: 2\n", "hello world: 3\n", "hello world: 4\n", "hello world: 5\n", "hello world: 6\n", "hello world: 7\n", "hello world: 8\n", "hello world: 9\n", "hello world: 10\n", "hello world: 11\n", "hello world: 12\n", "hello world: 13\n", "hello world: 14\n", "hello world: 15\n", "hello world: 16\n", "hello world: 17\n", "hello world: 18\n", "hello world: 19\n", "hello world: 20\n", "hello world: 21\n", "hello world: 22\n", "hello world: 23\n", "hello world: 24\n", "hello world: 25\n", "hello world: 26\n", "hello world: 27\n", "hello world: 28\n", "hello world: 29\n", "hello world: 30\n", "hello world: 31\n", "hello world: 32\n", "hello world: 33\n", "hello world: 34\n", "hello world: 35\n", "hello world: 36\n", "hello world: 37\n", "hello world: 38\n", "hello world: 39\n", "hello world: 40\n", "hello world: 41\n", "hello world: 42\n", "hello world: 43\n", "hello world: 44\n", "hello world: 45\n", "hello world: 46\n", "hello world: 47\n", "hello world: 48\n", "hello world: 49\n", "hello world: 50\n", "hello world: 51\n", "hello world: 52\n", "hello world: 53\n", "hello world: 54\n", "hello world: 55\n", "hello world: 56\n", "hello world: 57\n", "hello world: 58\n", "hello world: 59\n", "hello world: 60\n", "hello world: 61\n", "hello world: 62\n", "hello world: 63\n", "hello world: 64\n", "hello world: 65\n", "hello world: 66\n", "hello world: 67\n", "hello world: 68\n", "hello world: 69\n", "hello world: 70\n", "hello world: 71\n", "hello world: 72\n", "hello world: 73\n", "hello world: 74\n", "hello world: 75\n", "hello world: 76\n", "hello world: 77\n", "hello world: 78\n", "hello world: 79\n", "hello world: 80\n", "hello world: 81\n", "hello world: 82\n", "hello world: 83\n", "hello world: 84\n", "hello world: 85\n", "hello world: 86\n", "hello world: 87\n", "hello world: 88\n", "hello world: 89\n", "hello world: 90\n", "hello world: 91\n", "hello world: 92\n", "hello world: 93\n", "hello world: 94\n", "hello world: 95\n", "hello world: 96\n", "hello world: 97\n", "hello world: 98\n", "hello world: 99\n", "hello world: 100\n", "hello world: 101\n", "hello world: 102\n", "hello world: 103\n", "hello world: 104\n", "hello world: 105\n", "hello world: 106\n", "hello world: 107\n", "hello world: 108\n", "hello world: 109\n", "hello world: 110\n", "hello world: 111\n", "hello world: 112\n", "hello world: 113\n", "hello world: 114\n", "hello world: 115\n", "hello world: 116\n", "hello world: 117\n", "hello world: 118\n", "hello world: 119\n", "hello world: 120\n", "hello world: 121\n", "hello world: 122\n", "hello world: 123\n", "hello world: 124\n", "hello world: 125\n", "hello world: 126\n", "hello world: 127\n", "hello world: 128\n", "hello world: 129\n", "hello world: 130\n", "hello world: 131\n", "hello world: 132\n", "hello world: 133\n", "hello world: 134\n", "hello world: 135\n", "hello world: 136\n", "hello world: 137\n", "hello world: 138\n", "hello world: 139\n", "hello world: 140\n", "hello world: 141\n", "hello world: 142\n", "hello world: 143\n", "hello world: 144\n", "hello world: 145\n", "hello world: 146\n", "hello world: 147\n", "hello world: 148\n", "hello world: 149\n", "hello world: 150\n", "hello world: 151\n", "hello world: 152\n", "hello world: 153\n", "hello world: 154\n", "hello world: 155\n", "hello world: 156\n", "hello world: 157\n", "hello world: 158\n", "hello world: 159\n", "hello world: 160\n", "hello world: 161\n", "hello world: 162\n", "hello world: 163\n", "hello world: 164\n", "hello world: 165\n", "hello world: 166\n", "hello world: 167\n", "hello world: 168\n", "hello world: 169\n", "hello world: 170\n", "hello world: 171\n", "hello world: 172\n", "hello world: 173\n", "hello world: 174\n", "hello world: 175\n", "hello world: 176\n", "hello world: 177\n", "hello world: 178\n", "hello world: 179\n", "hello world: 180\n", "hello world: 181\n", "hello world: 182\n", "hello world: 183\n", "hello world: 184\n", "hello world: 185\n", "hello world: 186\n", "hello world: 187\n", "hello world: 188\n", "hello world: 189\n", "hello world: 190\n", "hello world: 191\n", "hello world: 192\n", "hello world: 193\n", "hello world: 194\n", "hello world: 195\n", "hello world: 196\n", "hello world: 197\n", "hello world: 198\n", "hello world: 199\n", "hello world: 200\n", "hello world: 201\n", "hello world: 202\n", "hello world: 203\n", "hello world: 204\n", "hello world: 205\n", "hello world: 206\n", "hello world: 207\n", "hello world: 208\n", "hello world: 209\n", "hello world: 210\n", "hello world: 211\n", "hello world: 212\n", "hello world: 213\n", "hello world: 214\n", "hello world: 215\n", "hello world: 216\n", "hello world: 217\n", "hello world: 218\n", "hello world: 219\n", "hello world: 220\n", "hello world: 221\n", "hello world: 222\n", "hello world: 223\n", "hello world: 224\n", "hello world: 225\n", "hello world: 226\n", "hello world: 227\n", "hello world: 228\n", "hello world: 229\n", "hello world: 230\n", "hello world: 231\n", "hello world: 232\n", "hello world: 233\n", "hello world: 234\n", "hello world: 235\n", "hello world: 236\n", "hello world: 237\n", "hello world: 238\n", "hello world: 239\n", "hello world: 240\n", "hello world: 241\n", "hello world: 242\n", "hello world: 243\n", "hello world: 244\n", "hello world: 245\n", "hello world: 246\n", "hello world: 247\n", "hello world: 248\n", "hello world: 249\n", "hello world: 250\n", "hello world: 251\n", "hello world: 252\n", "hello world: 253\n", "hello world: 254\n", "hello world: 255\n", "hello world: 256\n", "hello world: 257\n", "hello world: 258\n", "hello world: 259\n", "hello world: 260\n", "hello world: 261\n", "hello world: 262\n", "hello world: 263\n", "hello world: 264\n", "hello world: 265\n", "hello world: 266\n", "hello world: 267\n", "hello world: 268\n", "hello world: 269\n", "hello world: 270\n", "hello world: 271\n", "hello world: 272\n", "hello world: 273\n", "hello world: 274\n", "hello world: 275\n", "hello world: 276\n", "hello world: 277\n", "hello world: 278\n", "hello world: 279\n", "hello world: 280\n", "hello world: 281\n", "hello world: 282\n", "hello world: 283\n", "hello world: 284\n", "hello world: 285\n", "hello world: 286\n", "hello world: 287\n", "hello world: 288\n", "hello world: 289\n", "hello world: 290\n", "hello world: 291\n", "hello world: 292\n", "hello world: 293\n", "hello world: 294\n", "hello world: 295\n", "hello world: 296\n", "hello world: 297\n", "hello world: 298\n", "hello world: 299\n", "hello world: 300\n", "hello world: 301\n", "hello world: 302\n", "hello world: 303\n", "hello world: 304\n", "hello world: 305\n", "hello world: 306\n", "hello world: 307\n", "hello world: 308\n", "hello world: 309\n", "hello world: 310\n", "hello world: 311\n", "hello world: 312\n", "hello world: 313\n", "hello world: 314\n", "hello world: 315\n", "hello world: 316\n", "hello world: 317\n", "hello world: 318\n", "hello world: 319\n", "hello world: 320\n", "hello world: 321\n", "hello world: 322\n", "hello world: 323\n", "hello world: 324\n", "hello world: 325\n", "hello world: 326\n", "hello world: 327\n", "hello world: 328\n", "hello world: 329\n", "hello world: 330\n", "hello world: 331\n", "hello world: 332\n", "hello world: 333\n", "hello world: 334\n", "hello world: 335\n", "hello world: 336\n", "hello world: 337\n", "hello world: 338\n", "hello world: 339\n", "hello world: 340\n", "hello world: 341\n", "hello world: 342\n", "hello world: 343\n", "hello world: 344\n", "hello world: 345\n", "hello world: 346\n", "hello world: 347\n", "hello world: 348\n", "hello world: 349\n", "hello world: 350\n", "hello world: 351\n", "hello world: 352\n", "hello world: 353\n", "hello world: 354\n", "hello world: 355\n", "hello world: 356\n", "hello world: 357\n", "hello world: 358\n", "hello world: 359\n", "hello world: 360\n", "hello world: 361\n", "hello world: 362\n", "hello world: 363\n", "hello world: 364\n", "hello world: 365\n", "hello world: 366\n", "hello world: 367\n", "hello world: 368\n", "hello world: 369\n", "hello world: 370\n", "hello world: 371\n", "hello world: 372\n", "hello world: 373\n", "hello world: 374\n", "hello world: 375\n", "hello world: 376\n", "hello world: 377\n", "hello world: 378\n", "hello world: 379\n", "hello world: 380\n", "hello world: 381\n", "hello world: 382\n", "hello world: 383\n", "hello world: 384\n", "hello world: 385\n", "hello world: 386\n", "hello world: 387\n", "hello world: 388\n", "hello world: 389\n", "hello world: 390\n", "hello world: 391\n", "hello world: 392\n", "hello world: 393\n", "hello world: 394\n", "hello world: 395\n", "hello world: 396\n", "hello world: 397\n", "hello world: 398\n", "hello world: 399\n", "hello world: 400\n", "hello world: 401\n", "hello world: 402\n", "hello world: 403\n", "hello world: 404\n", "hello world: 405\n", "hello world: 406\n", "hello world: 407\n", "hello world: 408\n", "hello world: 409\n", "hello world: 410\n", "hello world: 411\n", "hello world: 412\n", "hello world: 413\n", "hello world: 414\n", "hello world: 415\n", "hello world: 416\n", "hello world: 417\n", "hello world: 418\n", "hello world: 419\n", "hello world: 420\n", "hello world: 421\n", "hello world: 422\n", "hello world: 423\n", "hello world: 424\n", "hello world: 425\n", "hello world: 426\n", "hello world: 427\n", "hello world: 428\n", "hello world: 429\n", "hello world: 430\n", "hello world: 431\n", "hello world: 432\n", "hello world: 433\n", "hello world: 434\n", "hello world: 435\n", "hello world: 436\n", "hello world: 437\n", "hello world: 438\n", "hello world: 439\n", "hello world: 440\n", "hello world: 441\n", "hello world: 442\n", "hello world: 443\n", "hello world: 444\n", "hello world: 445\n", "hello world: 446\n", "hello world: 447\n", "hello world: 448\n", "hello world: 449\n", "hello world: 450\n", "hello world: 451\n", "hello world: 452\n", "hello world: 453\n", "hello world: 454\n", "hello world: 455\n", "hello world: 456\n", "hello world: 457\n", "hello world: 458\n", "hello world: 459\n", "hello world: 460\n", "hello world: 461\n", "hello world: 462\n", "hello world: 463\n", "hello world: 464\n", "hello world: 465\n", "hello world: 466\n", "hello world: 467\n", "hello world: 468\n", "hello world: 469\n", "hello world: 470\n", "hello world: 471\n", "hello world: 472\n", "hello world: 473\n", "hello world: 474\n", "hello world: 475\n", "hello world: 476\n", "hello world: 477\n", "hello world: 478\n", "hello world: 479\n", "hello world: 480\n", "hello world: 481\n", "hello world: 482\n", "hello world: 483\n", "hello world: 484\n", "hello world: 485\n", "hello world: 486\n", "hello world: 487\n", "hello world: 488\n", "hello world: 489\n", "hello world: 490\n", "hello world: 491\n", "hello world: 492\n", "hello world: 493\n", "hello world: 494\n", "hello world: 495\n", "hello world: 496\n", "hello world: 497\n", "hello world: 498\n", "hello world: 499\n", "hello world: 500\n", "hello world: 501\n", "hello world: 502\n", "hello world: 503\n", "hello world: 504\n", "hello world: 505\n", "hello world: 506\n", "hello world: 507\n", "hello world: 508\n", "hello world: 509\n", "hello world: 510\n", "hello world: 511\n", "hello world: 512\n", "hello world: 513\n", "hello world: 514\n", "hello world: 515\n", "hello world: 516\n", "hello world: 517\n", "hello world: 518\n", "hello world: 519\n", "hello world: 520\n", "hello world: 521\n", "hello world: 522\n", "hello world: 523\n", "hello world: 524\n", "hello world: 525\n", "hello world: 526\n", "hello world: 527\n", "hello world: 528\n", "hello world: 529\n", "hello world: 530\n", "hello world: 531\n", "hello world: 532\n", "hello world: 533\n", "hello world: 534\n", "hello world: 535\n", "hello world: 536\n", "hello world: 537\n", "hello world: 538\n", "hello world: 539\n", "hello world: 540\n", "hello world: 541\n", "hello world: 542\n", "hello world: 543\n", "hello world: 544\n", "hello world: 545\n", "hello world: 546\n", "hello world: 547\n", "hello world: 548\n", "hello world: 549\n", "hello world: 550\n", "hello world: 551\n", "hello world: 552\n", "hello world: 553\n", "hello world: 554\n", "hello world: 555\n", "hello world: 556\n", "hello world: 557\n", "hello world: 558\n", "hello world: 559\n", "hello world: 560\n", "hello world: 561\n", "hello world: 562\n", "hello world: 563\n", "hello world: 564\n", "hello world: 565\n", "hello world: 566\n", "hello world: 567\n", "hello world: 568\n", "hello world: 569\n", "hello world: 570\n", "hello world: 571\n", "hello world: 572\n", "hello world: 573\n", "hello world: 574\n", "hello world: 575\n", "hello world: 576\n", "hello world: 577\n", "hello world: 578\n", "hello world: 579\n", "hello world: 580\n", "hello world: 581\n", "hello world: 582\n", "hello world: 583\n", "hello world: 584\n", "hello world: 585\n", "hello world: 586\n", "hello world: 587\n", "hello world: 588\n", "hello world: 589\n", "hello world: 590\n", "hello world: 591\n", "hello world: 592\n", "hello world: 593\n", "hello world: 594\n", "hello world: 595\n", "hello world: 596\n", "hello world: 597\n", "hello world: 598\n", "hello world: 599\n", "hello world: 600\n", "hello world: 601\n", "hello world: 602\n", "hello world: 603\n", "hello world: 604\n", "hello world: 605\n", "hello world: 606\n", "hello world: 607\n", "hello world: 608\n", "hello world: 609\n", "hello world: 610\n", "hello world: 611\n", "hello world: 612\n", "hello world: 613\n", "hello world: 614\n", "hello world: 615\n", "hello world: 616\n", "hello world: 617\n", "hello world: 618\n", "hello world: 619\n", "hello world: 620\n", "hello world: 621\n", "hello world: 622\n", "hello world: 623\n", "hello world: 624\n", "hello world: 625\n", "hello world: 626\n", "hello world: 627\n", "hello world: 628\n", "hello world: 629\n", "hello world: 630\n", "hello world: 631\n", "hello world: 632\n", "hello world: 633\n", "hello world: 634\n", "hello world: 635\n", "hello world: 636\n", "hello world: 637\n", "hello world: 638\n", "hello world: 639\n", "hello world: 640\n", "hello world: 641\n", "hello world: 642\n", "hello world: 643\n", "hello world: 644\n", "hello world: 645\n", "hello world: 646\n", "hello world: 647\n", "hello world: 648\n", "hello world: 649\n", "hello world: 650\n", "hello world: 651\n", "hello world: 652\n", "hello world: 653\n", "hello world: 654\n", "hello world: 655\n", "hello world: 656\n", "hello world: 657\n", "hello world: 658\n", "hello world: 659\n", "hello world: 660\n", "hello world: 661\n", "hello world: 662\n", "hello world: 663\n", "hello world: 664\n", "hello world: 665\n", "hello world: 666\n", "hello world: 667\n", "hello world: 668\n", "hello world: 669\n", "hello world: 670\n", "hello world: 671\n", "hello world: 672\n", "hello world: 673\n", "hello world: 674\n", "hello world: 675\n", "hello world: 676\n", "hello world: 677\n", "hello world: 678\n", "hello world: 679\n", "hello world: 680\n", "hello world: 681\n", "hello world: 682\n", "hello world: 683\n", "hello world: 684\n", "hello world: 685\n", "hello world: 686\n", "hello world: 687\n", "hello world: 688\n", "hello world: 689\n", "hello world: 690\n", "hello world: 691\n", "hello world: 692\n", "hello world: 693\n", "hello world: 694\n", "hello world: 695\n", "hello world: 696\n", "hello world: 697\n", "hello world: 698\n", "hello world: 699\n", "hello world: 700\n", "hello world: 701\n", "hello world: 702\n", "hello world: 703\n", "hello world: 704\n", "hello world: 705\n", "hello world: 706\n", "hello world: 707\n", "hello world: 708\n", "hello world: 709\n", "hello world: 710\n", "hello world: 711\n", "hello world: 712\n", "hello world: 713\n", "hello world: 714\n", "hello world: 715\n", "hello world: 716\n", "hello world: 717\n", "hello world: 718\n", "hello world: 719\n", "hello world: 720\n", "hello world: 721\n", "hello world: 722\n", "hello world: 723\n", "hello world: 724\n", "hello world: 725\n", "hello world: 726\n", "hello world: 727\n", "hello world: 728\n", "hello world: 729\n", "hello world: 730\n", "hello world: 731\n", "hello world: 732\n", "hello world: 733\n", "hello world: 734\n", "hello world: 735\n", "hello world: 736\n", "hello world: 737\n", "hello world: 738\n", "hello world: 739\n", "hello world: 740\n", "hello world: 741\n", "hello world: 742\n", "hello world: 743\n", "hello world: 744\n", "hello world: 745\n", "hello world: 746\n", "hello world: 747\n", "hello world: 748\n", "hello world: 749\n", "hello world: 750\n", "hello world: 751\n", "hello world: 752\n", "hello world: 753\n", "hello world: 754\n", "hello world: 755\n", "hello world: 756\n", "hello world: 757\n", "hello world: 758\n", "hello world: 759\n", "hello world: 760\n", "hello world: 761\n", "hello world: 762\n", "hello world: 763\n", "hello world: 764\n", "hello world: 765\n", "hello world: 766\n", "hello world: 767\n", "hello world: 768\n", "hello world: 769\n", "hello world: 770\n", "hello world: 771\n", "hello world: 772\n", "hello world: 773\n", "hello world: 774\n", "hello world: 775\n", "hello world: 776\n", "hello world: 777\n", "hello world: 778\n", "hello world: 779\n", "hello world: 780\n", "hello world: 781\n", "hello world: 782\n", "hello world: 783\n", "hello world: 784\n", "hello world: 785\n", "hello world: 786\n", "hello world: 787\n", "hello world: 788\n", "hello world: 789\n", "hello world: 790\n", "hello world: 791\n", "hello world: 792\n", "hello world: 793\n", "hello world: 794\n", "hello world: 795\n", "hello world: 796\n", "hello world: 797\n", "hello world: 798\n", "hello world: 799\n", "hello world: 800\n", "hello world: 801\n", "hello world: 802\n", "hello world: 803\n", "hello world: 804\n", "hello world: 805\n", "hello world: 806\n", "hello world: 807\n", "hello world: 808\n", "hello world: 809\n", "hello world: 810\n", "hello world: 811\n", "hello world: 812\n", "hello world: 813\n", "hello world: 814\n", "hello world: 815\n", "hello world: 816\n", "hello world: 817\n", "hello world: 818\n", "hello world: 819\n", "hello world: 820\n", "hello world: 821\n", "hello world: 822\n", "hello world: 823\n", "hello world: 824\n", "hello world: 825\n", "hello world: 826\n", "hello world: 827\n", "hello world: 828\n", "hello world: 829\n", "hello world: 830\n", "hello world: 831\n", "hello world: 832\n", "hello world: 833\n", "hello world: 834\n", "hello world: 835\n", "hello world: 836\n", "hello world: 837\n", "hello world: 838\n", "hello world: 839\n", "hello world: 840\n", "hello world: 841\n", "hello world: 842\n", "hello world: 843\n", "hello world: 844\n", "hello world: 845\n", "hello world: 846\n", "hello world: 847\n", "hello world: 848\n", "hello world: 849\n", "hello world: 850\n", "hello world: 851\n", "hello world: 852\n", "hello world: 853\n", "hello world: 854\n", "hello world: 855\n", "hello world: 856\n", "hello world: 857\n", "hello world: 858\n", "hello world: 859\n", "hello world: 860\n", "hello world: 861\n", "hello world: 862\n", "hello world: 863\n", "hello world: 864\n", "hello world: 865\n", "hello world: 866\n", "hello world: 867\n", "hello world: 868\n", "hello world: 869\n", "hello world: 870\n", "hello world: 871\n", "hello world: 872\n", "hello world: 873\n", "hello world: 874\n", "hello world: 875\n", "hello world: 876\n", "hello world: 877\n", "hello world: 878\n", "hello world: 879\n", "hello world: 880\n", "hello world: 881\n", "hello world: 882\n", "hello world: 883\n", "hello world: 884\n", "hello world: 885\n", "hello world: 886\n", "hello world: 887\n", "hello world: 888\n", "hello world: 889\n", "hello world: 890\n", "hello world: 891\n", "hello world: 892\n", "hello world: 893\n", "hello world: 894\n", "hello world: 895\n", "hello world: 896\n", "hello world: 897\n", "hello world: 898\n", "hello world: 899\n", "hello world: 900\n", "hello world: 901\n", "hello world: 902\n", "hello world: 903\n", "hello world: 904\n", "hello world: 905\n", "hello world: 906\n", "hello world: 907\n", "hello world: 908\n", "hello world: 909\n", "hello world: 910\n", "hello world: 911\n", "hello world: 912\n", "hello world: 913\n", "hello world: 914\n", "hello world: 915\n", "hello world: 916\n", "hello world: 917\n", "hello world: 918\n", "hello world: 919\n", "hello world: 920\n", "hello world: 921\n", "hello world: 922\n", "hello world: 923\n", "hello world: 924\n", "hello world: 925\n", "hello world: 926\n", "hello world: 927\n", "hello world: 928\n", "hello world: 929\n", "hello world: 930\n", "hello world: 931\n", "hello world: 932\n", "hello world: 933\n", "hello world: 934\n", "hello world: 935\n", "hello world: 936\n", "hello world: 937\n", "hello world: 938\n", "hello world: 939\n", "hello world: 940\n", "hello world: 941\n", "hello world: 942\n", "hello world: 943\n", "hello world: 944\n", "hello world: 945\n", "hello world: 946\n", "hello world: 947\n", "hello world: 948\n", "hello world: 949\n", "hello world: 950\n", "hello world: 951\n", "hello world: 952\n", "hello world: 953\n", "hello world: 954\n", "hello world: 955\n", "hello world: 956\n", "hello world: 957\n", "hello world: 958\n", "hello world: 959\n", "hello world: 960\n", "hello world: 961\n", "hello world: 962\n", "hello world: 963\n", "hello world: 964\n", "hello world: 965\n", "hello world: 966\n", "hello world: 967\n", "hello world: 968\n", "hello world: 969\n", "hello world: 970\n", "hello world: 971\n", "hello world: 972\n", "hello world: 973\n", "hello world: 974\n", "hello world: 975\n", "hello world: 976\n", "hello world: 977\n", "hello world: 978\n", "hello world: 979\n", "hello world: 980\n", "hello world: 981\n", "hello world: 982\n", "hello world: 983\n", "hello world: 984\n", "hello world: 985\n", "hello world: 986\n", "hello world: 987\n", "hello world: 988\n", "hello world: 989\n", "hello world: 990\n", "hello world: 991\n", "hello world: 992\n", "hello world: 993\n", "hello world: 994\n", "hello world: 995\n", "hello world: 996\n", "hello world: 997\n", "hello world: 998\n", "hello world: 999\n", "\n" ] } ], "source": [ "g = open('newfile.txt', 'r')\n", "print g.read()\n", "g.close()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## with 方法" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "事实上,**Python**提供了更安全的方法,当 `with` 块的内容结束后,**Python**会自动调用它的`close` 方法,确保读写的安全:" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": false }, "outputs": [ { "ename": "ZeroDivisionError", "evalue": "float division by zero", "output_type": "error", "traceback": [ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[1;31mZeroDivisionError\u001b[0m Traceback (most recent call last)", "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[1;32mwith\u001b[0m \u001b[0mopen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'newfile.txt'\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;34m'w'\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;32mas\u001b[0m \u001b[0mf\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2\u001b[0m \u001b[1;32mfor\u001b[0m \u001b[0mi\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mrange\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m3000\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 3\u001b[1;33m \u001b[0mx\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;36m1.0\u001b[0m \u001b[1;33m/\u001b[0m \u001b[1;33m(\u001b[0m\u001b[0mi\u001b[0m \u001b[1;33m-\u001b[0m \u001b[1;36m1000\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 4\u001b[0m \u001b[0mf\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mwrite\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'hello world: '\u001b[0m \u001b[1;33m+\u001b[0m \u001b[0mstr\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mi\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m+\u001b[0m \u001b[1;34m'\\n'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n", "\u001b[1;31mZeroDivisionError\u001b[0m: float division by zero" ] } ], "source": [ "with open('newfile.txt','w') as f:\n", " for i in range(3000):\n", " x = 1.0 / (i - 1000)\n", " f.write('hello world: ' + str(i) + '\\n')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "与 `try/exception/finally` 效果相同,但更简单。" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "hello world: 0\n", "hello world: 1\n", "hello world: 2\n", "hello world: 3\n", "hello world: 4\n", "hello world: 5\n", "hello world: 6\n", "hello world: 7\n", "hello world: 8\n", "hello world: 9\n", "hello world: 10\n", "hello world: 11\n", "hello world: 12\n", "hello world: 13\n", "hello world: 14\n", "hello world: 15\n", "hello world: 16\n", "hello world: 17\n", "hello world: 18\n", "hello world: 19\n", "hello world: 20\n", "hello world: 21\n", "hello world: 22\n", "hello world: 23\n", "hello world: 24\n", "hello world: 25\n", "hello world: 26\n", "hello world: 27\n", "hello world: 28\n", "hello world: 29\n", "hello world: 30\n", "hello world: 31\n", "hello world: 32\n", "hello world: 33\n", "hello world: 34\n", "hello world: 35\n", "hello world: 36\n", "hello world: 37\n", "hello world: 38\n", "hello world: 39\n", "hello world: 40\n", "hello world: 41\n", "hello world: 42\n", "hello world: 43\n", "hello world: 44\n", "hello world: 45\n", "hello world: 46\n", "hello world: 47\n", "hello world: 48\n", "hello world: 49\n", "hello world: 50\n", "hello world: 51\n", "hello world: 52\n", "hello world: 53\n", "hello world: 54\n", "hello world: 55\n", "hello world: 56\n", "hello world: 57\n", "hello world: 58\n", "hello world: 59\n", "hello world: 60\n", "hello world: 61\n", "hello world: 62\n", "hello world: 63\n", "hello world: 64\n", "hello world: 65\n", "hello world: 66\n", "hello world: 67\n", "hello world: 68\n", "hello world: 69\n", "hello world: 70\n", "hello world: 71\n", "hello world: 72\n", "hello world: 73\n", "hello world: 74\n", "hello world: 75\n", "hello world: 76\n", "hello world: 77\n", "hello world: 78\n", "hello world: 79\n", "hello world: 80\n", "hello world: 81\n", "hello world: 82\n", "hello world: 83\n", "hello world: 84\n", "hello world: 85\n", "hello world: 86\n", "hello world: 87\n", "hello world: 88\n", "hello world: 89\n", "hello world: 90\n", "hello world: 91\n", "hello world: 92\n", "hello world: 93\n", "hello world: 94\n", "hello world: 95\n", "hello world: 96\n", "hello world: 97\n", "hello world: 98\n", "hello world: 99\n", "hello world: 100\n", "hello world: 101\n", "hello world: 102\n", "hello world: 103\n", "hello world: 104\n", "hello world: 105\n", "hello world: 106\n", "hello world: 107\n", "hello world: 108\n", "hello world: 109\n", "hello world: 110\n", "hello world: 111\n", "hello world: 112\n", "hello world: 113\n", "hello world: 114\n", "hello world: 115\n", "hello world: 116\n", "hello world: 117\n", "hello world: 118\n", "hello world: 119\n", "hello world: 120\n", "hello world: 121\n", "hello world: 122\n", "hello world: 123\n", "hello world: 124\n", "hello world: 125\n", "hello world: 126\n", "hello world: 127\n", "hello world: 128\n", "hello world: 129\n", "hello world: 130\n", "hello world: 131\n", "hello world: 132\n", "hello world: 133\n", "hello world: 134\n", "hello world: 135\n", "hello world: 136\n", "hello world: 137\n", "hello world: 138\n", "hello world: 139\n", "hello world: 140\n", "hello world: 141\n", "hello world: 142\n", "hello world: 143\n", "hello world: 144\n", "hello world: 145\n", "hello world: 146\n", "hello world: 147\n", "hello world: 148\n", "hello world: 149\n", "hello world: 150\n", "hello world: 151\n", "hello world: 152\n", "hello world: 153\n", "hello world: 154\n", "hello world: 155\n", "hello world: 156\n", "hello world: 157\n", "hello world: 158\n", "hello world: 159\n", "hello world: 160\n", "hello world: 161\n", "hello world: 162\n", "hello world: 163\n", "hello world: 164\n", "hello world: 165\n", "hello world: 166\n", "hello world: 167\n", "hello world: 168\n", "hello world: 169\n", "hello world: 170\n", "hello world: 171\n", "hello world: 172\n", "hello world: 173\n", "hello world: 174\n", "hello world: 175\n", "hello world: 176\n", "hello world: 177\n", "hello world: 178\n", "hello world: 179\n", "hello world: 180\n", "hello world: 181\n", "hello world: 182\n", "hello world: 183\n", "hello world: 184\n", "hello world: 185\n", "hello world: 186\n", "hello world: 187\n", "hello world: 188\n", "hello world: 189\n", "hello world: 190\n", "hello world: 191\n", "hello world: 192\n", "hello world: 193\n", "hello world: 194\n", "hello world: 195\n", "hello world: 196\n", "hello world: 197\n", "hello world: 198\n", "hello world: 199\n", "hello world: 200\n", "hello world: 201\n", "hello world: 202\n", "hello world: 203\n", "hello world: 204\n", "hello world: 205\n", "hello world: 206\n", "hello world: 207\n", "hello world: 208\n", "hello world: 209\n", "hello world: 210\n", "hello world: 211\n", "hello world: 212\n", "hello world: 213\n", "hello world: 214\n", "hello world: 215\n", "hello world: 216\n", "hello world: 217\n", "hello world: 218\n", "hello world: 219\n", "hello world: 220\n", "hello world: 221\n", "hello world: 222\n", "hello world: 223\n", "hello world: 224\n", "hello world: 225\n", "hello world: 226\n", "hello world: 227\n", "hello world: 228\n", "hello world: 229\n", "hello world: 230\n", "hello world: 231\n", "hello world: 232\n", "hello world: 233\n", "hello world: 234\n", "hello world: 235\n", "hello world: 236\n", "hello world: 237\n", "hello world: 238\n", "hello world: 239\n", "hello world: 240\n", "hello world: 241\n", "hello world: 242\n", "hello world: 243\n", "hello world: 244\n", "hello world: 245\n", "hello world: 246\n", "hello world: 247\n", "hello world: 248\n", "hello world: 249\n", "hello world: 250\n", "hello world: 251\n", "hello world: 252\n", "hello world: 253\n", "hello world: 254\n", "hello world: 255\n", "hello world: 256\n", "hello world: 257\n", "hello world: 258\n", "hello world: 259\n", "hello world: 260\n", "hello world: 261\n", "hello world: 262\n", "hello world: 263\n", "hello world: 264\n", "hello world: 265\n", "hello world: 266\n", "hello world: 267\n", "hello world: 268\n", "hello world: 269\n", "hello world: 270\n", "hello world: 271\n", "hello world: 272\n", "hello world: 273\n", "hello world: 274\n", "hello world: 275\n", "hello world: 276\n", "hello world: 277\n", "hello world: 278\n", "hello world: 279\n", "hello world: 280\n", "hello world: 281\n", "hello world: 282\n", "hello world: 283\n", "hello world: 284\n", "hello world: 285\n", "hello world: 286\n", "hello world: 287\n", "hello world: 288\n", "hello world: 289\n", "hello world: 290\n", "hello world: 291\n", "hello world: 292\n", "hello world: 293\n", "hello world: 294\n", "hello world: 295\n", "hello world: 296\n", "hello world: 297\n", "hello world: 298\n", "hello world: 299\n", "hello world: 300\n", "hello world: 301\n", "hello world: 302\n", "hello world: 303\n", "hello world: 304\n", "hello world: 305\n", "hello world: 306\n", "hello world: 307\n", "hello world: 308\n", "hello world: 309\n", "hello world: 310\n", "hello world: 311\n", "hello world: 312\n", "hello world: 313\n", "hello world: 314\n", "hello world: 315\n", "hello world: 316\n", "hello world: 317\n", "hello world: 318\n", "hello world: 319\n", "hello world: 320\n", "hello world: 321\n", "hello world: 322\n", "hello world: 323\n", "hello world: 324\n", "hello world: 325\n", "hello world: 326\n", "hello world: 327\n", "hello world: 328\n", "hello world: 329\n", "hello world: 330\n", "hello world: 331\n", "hello world: 332\n", "hello world: 333\n", "hello world: 334\n", "hello world: 335\n", "hello world: 336\n", "hello world: 337\n", "hello world: 338\n", "hello world: 339\n", "hello world: 340\n", "hello world: 341\n", "hello world: 342\n", "hello world: 343\n", "hello world: 344\n", "hello world: 345\n", "hello world: 346\n", "hello world: 347\n", "hello world: 348\n", "hello world: 349\n", "hello world: 350\n", "hello world: 351\n", "hello world: 352\n", "hello world: 353\n", "hello world: 354\n", "hello world: 355\n", "hello world: 356\n", "hello world: 357\n", "hello world: 358\n", "hello world: 359\n", "hello world: 360\n", "hello world: 361\n", "hello world: 362\n", "hello world: 363\n", "hello world: 364\n", "hello world: 365\n", "hello world: 366\n", "hello world: 367\n", "hello world: 368\n", "hello world: 369\n", "hello world: 370\n", "hello world: 371\n", "hello world: 372\n", "hello world: 373\n", "hello world: 374\n", "hello world: 375\n", "hello world: 376\n", "hello world: 377\n", "hello world: 378\n", "hello world: 379\n", "hello world: 380\n", "hello world: 381\n", "hello world: 382\n", "hello world: 383\n", "hello world: 384\n", "hello world: 385\n", "hello world: 386\n", "hello world: 387\n", "hello world: 388\n", "hello world: 389\n", "hello world: 390\n", "hello world: 391\n", "hello world: 392\n", "hello world: 393\n", "hello world: 394\n", "hello world: 395\n", "hello world: 396\n", "hello world: 397\n", "hello world: 398\n", "hello world: 399\n", "hello world: 400\n", "hello world: 401\n", "hello world: 402\n", "hello world: 403\n", "hello world: 404\n", "hello world: 405\n", "hello world: 406\n", "hello world: 407\n", "hello world: 408\n", "hello world: 409\n", "hello world: 410\n", "hello world: 411\n", "hello world: 412\n", "hello world: 413\n", "hello world: 414\n", "hello world: 415\n", "hello world: 416\n", "hello world: 417\n", "hello world: 418\n", "hello world: 419\n", "hello world: 420\n", "hello world: 421\n", "hello world: 422\n", "hello world: 423\n", "hello world: 424\n", "hello world: 425\n", "hello world: 426\n", "hello world: 427\n", "hello world: 428\n", "hello world: 429\n", "hello world: 430\n", "hello world: 431\n", "hello world: 432\n", "hello world: 433\n", "hello world: 434\n", "hello world: 435\n", "hello world: 436\n", "hello world: 437\n", "hello world: 438\n", "hello world: 439\n", "hello world: 440\n", "hello world: 441\n", "hello world: 442\n", "hello world: 443\n", "hello world: 444\n", "hello world: 445\n", "hello world: 446\n", "hello world: 447\n", "hello world: 448\n", "hello world: 449\n", "hello world: 450\n", "hello world: 451\n", "hello world: 452\n", "hello world: 453\n", "hello world: 454\n", "hello world: 455\n", "hello world: 456\n", "hello world: 457\n", "hello world: 458\n", "hello world: 459\n", "hello world: 460\n", "hello world: 461\n", "hello world: 462\n", "hello world: 463\n", "hello world: 464\n", "hello world: 465\n", "hello world: 466\n", "hello world: 467\n", "hello world: 468\n", "hello world: 469\n", "hello world: 470\n", "hello world: 471\n", "hello world: 472\n", "hello world: 473\n", "hello world: 474\n", "hello world: 475\n", "hello world: 476\n", "hello world: 477\n", "hello world: 478\n", "hello world: 479\n", "hello world: 480\n", "hello world: 481\n", "hello world: 482\n", "hello world: 483\n", "hello world: 484\n", "hello world: 485\n", "hello world: 486\n", "hello world: 487\n", "hello world: 488\n", "hello world: 489\n", "hello world: 490\n", "hello world: 491\n", "hello world: 492\n", "hello world: 493\n", "hello world: 494\n", "hello world: 495\n", "hello world: 496\n", "hello world: 497\n", "hello world: 498\n", "hello world: 499\n", "hello world: 500\n", "hello world: 501\n", "hello world: 502\n", "hello world: 503\n", "hello world: 504\n", "hello world: 505\n", "hello world: 506\n", "hello world: 507\n", "hello world: 508\n", "hello world: 509\n", "hello world: 510\n", "hello world: 511\n", "hello world: 512\n", "hello world: 513\n", "hello world: 514\n", "hello world: 515\n", "hello world: 516\n", "hello world: 517\n", "hello world: 518\n", "hello world: 519\n", "hello world: 520\n", "hello world: 521\n", "hello world: 522\n", "hello world: 523\n", "hello world: 524\n", "hello world: 525\n", "hello world: 526\n", "hello world: 527\n", "hello world: 528\n", "hello world: 529\n", "hello world: 530\n", "hello world: 531\n", "hello world: 532\n", "hello world: 533\n", "hello world: 534\n", "hello world: 535\n", "hello world: 536\n", "hello world: 537\n", "hello world: 538\n", "hello world: 539\n", "hello world: 540\n", "hello world: 541\n", "hello world: 542\n", "hello world: 543\n", "hello world: 544\n", "hello world: 545\n", "hello world: 546\n", "hello world: 547\n", "hello world: 548\n", "hello world: 549\n", "hello world: 550\n", "hello world: 551\n", "hello world: 552\n", "hello world: 553\n", "hello world: 554\n", "hello world: 555\n", "hello world: 556\n", "hello world: 557\n", "hello world: 558\n", "hello world: 559\n", "hello world: 560\n", "hello world: 561\n", "hello world: 562\n", "hello world: 563\n", "hello world: 564\n", "hello world: 565\n", "hello world: 566\n", "hello world: 567\n", "hello world: 568\n", "hello world: 569\n", "hello world: 570\n", "hello world: 571\n", "hello world: 572\n", "hello world: 573\n", "hello world: 574\n", "hello world: 575\n", "hello world: 576\n", "hello world: 577\n", "hello world: 578\n", "hello world: 579\n", "hello world: 580\n", "hello world: 581\n", "hello world: 582\n", "hello world: 583\n", "hello world: 584\n", "hello world: 585\n", "hello world: 586\n", "hello world: 587\n", "hello world: 588\n", "hello world: 589\n", "hello world: 590\n", "hello world: 591\n", "hello world: 592\n", "hello world: 593\n", "hello world: 594\n", "hello world: 595\n", "hello world: 596\n", "hello world: 597\n", "hello world: 598\n", "hello world: 599\n", "hello world: 600\n", "hello world: 601\n", "hello world: 602\n", "hello world: 603\n", "hello world: 604\n", "hello world: 605\n", "hello world: 606\n", "hello world: 607\n", "hello world: 608\n", "hello world: 609\n", "hello world: 610\n", "hello world: 611\n", "hello world: 612\n", "hello world: 613\n", "hello world: 614\n", "hello world: 615\n", "hello world: 616\n", "hello world: 617\n", "hello world: 618\n", "hello world: 619\n", "hello world: 620\n", "hello world: 621\n", "hello world: 622\n", "hello world: 623\n", "hello world: 624\n", "hello world: 625\n", "hello world: 626\n", "hello world: 627\n", "hello world: 628\n", "hello world: 629\n", "hello world: 630\n", "hello world: 631\n", "hello world: 632\n", "hello world: 633\n", "hello world: 634\n", "hello world: 635\n", "hello world: 636\n", "hello world: 637\n", "hello world: 638\n", "hello world: 639\n", "hello world: 640\n", "hello world: 641\n", "hello world: 642\n", "hello world: 643\n", "hello world: 644\n", "hello world: 645\n", "hello world: 646\n", "hello world: 647\n", "hello world: 648\n", "hello world: 649\n", "hello world: 650\n", "hello world: 651\n", "hello world: 652\n", "hello world: 653\n", "hello world: 654\n", "hello world: 655\n", "hello world: 656\n", "hello world: 657\n", "hello world: 658\n", "hello world: 659\n", "hello world: 660\n", "hello world: 661\n", "hello world: 662\n", "hello world: 663\n", "hello world: 664\n", "hello world: 665\n", "hello world: 666\n", "hello world: 667\n", "hello world: 668\n", "hello world: 669\n", "hello world: 670\n", "hello world: 671\n", "hello world: 672\n", "hello world: 673\n", "hello world: 674\n", "hello world: 675\n", "hello world: 676\n", "hello world: 677\n", "hello world: 678\n", "hello world: 679\n", "hello world: 680\n", "hello world: 681\n", "hello world: 682\n", "hello world: 683\n", "hello world: 684\n", "hello world: 685\n", "hello world: 686\n", "hello world: 687\n", "hello world: 688\n", "hello world: 689\n", "hello world: 690\n", "hello world: 691\n", "hello world: 692\n", "hello world: 693\n", "hello world: 694\n", "hello world: 695\n", "hello world: 696\n", "hello world: 697\n", "hello world: 698\n", "hello world: 699\n", "hello world: 700\n", "hello world: 701\n", "hello world: 702\n", "hello world: 703\n", "hello world: 704\n", "hello world: 705\n", "hello world: 706\n", "hello world: 707\n", "hello world: 708\n", "hello world: 709\n", "hello world: 710\n", "hello world: 711\n", "hello world: 712\n", "hello world: 713\n", "hello world: 714\n", "hello world: 715\n", "hello world: 716\n", "hello world: 717\n", "hello world: 718\n", "hello world: 719\n", "hello world: 720\n", "hello world: 721\n", "hello world: 722\n", "hello world: 723\n", "hello world: 724\n", "hello world: 725\n", "hello world: 726\n", "hello world: 727\n", "hello world: 728\n", "hello world: 729\n", "hello world: 730\n", "hello world: 731\n", "hello world: 732\n", "hello world: 733\n", "hello world: 734\n", "hello world: 735\n", "hello world: 736\n", "hello world: 737\n", "hello world: 738\n", "hello world: 739\n", "hello world: 740\n", "hello world: 741\n", "hello world: 742\n", "hello world: 743\n", "hello world: 744\n", "hello world: 745\n", "hello world: 746\n", "hello world: 747\n", "hello world: 748\n", "hello world: 749\n", "hello world: 750\n", "hello world: 751\n", "hello world: 752\n", "hello world: 753\n", "hello world: 754\n", "hello world: 755\n", "hello world: 756\n", "hello world: 757\n", "hello world: 758\n", "hello world: 759\n", "hello world: 760\n", "hello world: 761\n", "hello world: 762\n", "hello world: 763\n", "hello world: 764\n", "hello world: 765\n", "hello world: 766\n", "hello world: 767\n", "hello world: 768\n", "hello world: 769\n", "hello world: 770\n", "hello world: 771\n", "hello world: 772\n", "hello world: 773\n", "hello world: 774\n", "hello world: 775\n", "hello world: 776\n", "hello world: 777\n", "hello world: 778\n", "hello world: 779\n", "hello world: 780\n", "hello world: 781\n", "hello world: 782\n", "hello world: 783\n", "hello world: 784\n", "hello world: 785\n", "hello world: 786\n", "hello world: 787\n", "hello world: 788\n", "hello world: 789\n", "hello world: 790\n", "hello world: 791\n", "hello world: 792\n", "hello world: 793\n", "hello world: 794\n", "hello world: 795\n", "hello world: 796\n", "hello world: 797\n", "hello world: 798\n", "hello world: 799\n", "hello world: 800\n", "hello world: 801\n", "hello world: 802\n", "hello world: 803\n", "hello world: 804\n", "hello world: 805\n", "hello world: 806\n", "hello world: 807\n", "hello world: 808\n", "hello world: 809\n", "hello world: 810\n", "hello world: 811\n", "hello world: 812\n", "hello world: 813\n", "hello world: 814\n", "hello world: 815\n", "hello world: 816\n", "hello world: 817\n", "hello world: 818\n", "hello world: 819\n", "hello world: 820\n", "hello world: 821\n", "hello world: 822\n", "hello world: 823\n", "hello world: 824\n", "hello world: 825\n", "hello world: 826\n", "hello world: 827\n", "hello world: 828\n", "hello world: 829\n", "hello world: 830\n", "hello world: 831\n", "hello world: 832\n", "hello world: 833\n", "hello world: 834\n", "hello world: 835\n", "hello world: 836\n", "hello world: 837\n", "hello world: 838\n", "hello world: 839\n", "hello world: 840\n", "hello world: 841\n", "hello world: 842\n", "hello world: 843\n", "hello world: 844\n", "hello world: 845\n", "hello world: 846\n", "hello world: 847\n", "hello world: 848\n", "hello world: 849\n", "hello world: 850\n", "hello world: 851\n", "hello world: 852\n", "hello world: 853\n", "hello world: 854\n", "hello world: 855\n", "hello world: 856\n", "hello world: 857\n", "hello world: 858\n", "hello world: 859\n", "hello world: 860\n", "hello world: 861\n", "hello world: 862\n", "hello world: 863\n", "hello world: 864\n", "hello world: 865\n", "hello world: 866\n", "hello world: 867\n", "hello world: 868\n", "hello world: 869\n", "hello world: 870\n", "hello world: 871\n", "hello world: 872\n", "hello world: 873\n", "hello world: 874\n", "hello world: 875\n", "hello world: 876\n", "hello world: 877\n", "hello world: 878\n", "hello world: 879\n", "hello world: 880\n", "hello world: 881\n", "hello world: 882\n", "hello world: 883\n", "hello world: 884\n", "hello world: 885\n", "hello world: 886\n", "hello world: 887\n", "hello world: 888\n", "hello world: 889\n", "hello world: 890\n", "hello world: 891\n", "hello world: 892\n", "hello world: 893\n", "hello world: 894\n", "hello world: 895\n", "hello world: 896\n", "hello world: 897\n", "hello world: 898\n", "hello world: 899\n", "hello world: 900\n", "hello world: 901\n", "hello world: 902\n", "hello world: 903\n", "hello world: 904\n", "hello world: 905\n", "hello world: 906\n", "hello world: 907\n", "hello world: 908\n", "hello world: 909\n", "hello world: 910\n", "hello world: 911\n", "hello world: 912\n", "hello world: 913\n", "hello world: 914\n", "hello world: 915\n", "hello world: 916\n", "hello world: 917\n", "hello world: 918\n", "hello world: 919\n", "hello world: 920\n", "hello world: 921\n", "hello world: 922\n", "hello world: 923\n", "hello world: 924\n", "hello world: 925\n", "hello world: 926\n", "hello world: 927\n", "hello world: 928\n", "hello world: 929\n", "hello world: 930\n", "hello world: 931\n", "hello world: 932\n", "hello world: 933\n", "hello world: 934\n", "hello world: 935\n", "hello world: 936\n", "hello world: 937\n", "hello world: 938\n", "hello world: 939\n", "hello world: 940\n", "hello world: 941\n", "hello world: 942\n", "hello world: 943\n", "hello world: 944\n", "hello world: 945\n", "hello world: 946\n", "hello world: 947\n", "hello world: 948\n", "hello world: 949\n", "hello world: 950\n", "hello world: 951\n", "hello world: 952\n", "hello world: 953\n", "hello world: 954\n", "hello world: 955\n", "hello world: 956\n", "hello world: 957\n", "hello world: 958\n", "hello world: 959\n", "hello world: 960\n", "hello world: 961\n", "hello world: 962\n", "hello world: 963\n", "hello world: 964\n", "hello world: 965\n", "hello world: 966\n", "hello world: 967\n", "hello world: 968\n", "hello world: 969\n", "hello world: 970\n", "hello world: 971\n", "hello world: 972\n", "hello world: 973\n", "hello world: 974\n", "hello world: 975\n", "hello world: 976\n", "hello world: 977\n", "hello world: 978\n", "hello world: 979\n", "hello world: 980\n", "hello world: 981\n", "hello world: 982\n", "hello world: 983\n", "hello world: 984\n", "hello world: 985\n", "hello world: 986\n", "hello world: 987\n", "hello world: 988\n", "hello world: 989\n", "hello world: 990\n", "hello world: 991\n", "hello world: 992\n", "hello world: 993\n", "hello world: 994\n", "hello world: 995\n", "hello world: 996\n", "hello world: 997\n", "hello world: 998\n", "hello world: 999\n", "\n" ] } ], "source": [ "g = open('newfile.txt', 'r')\n", "print g.read()\n", "g.close()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "所以,写文件时候要确保文件被正确关闭。" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import os\n", "os.remove('newfile.txt')" ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.10" } }, "nbformat": 4, "nbformat_minor": 0 }