python – 如何实现文件?
我很好奇文件如何在
python中工作.如何实现文件,以便它能够像这样循环:
csv_file = open("filename.csv","r") for line in csv_file: # do something with line 解决方法
如果您使用的是Python 2,则细节有点模糊;
alexmcf’s answer涵盖了基础知识,您可以从那里查找更多详细信息.
如果您使用的是Python 3,那么
如果你看inside the 3.5 source,它就像你期望的那样简单: def __iter__(self): self._checkClosed() return self def __next__(self): line = self.readline() if not line: raise StopIteration return line 当然在CPython 3.1中,如果可能的话,有一个C加速器代替Python代码,但是it looks pretty similar: static PyObject * iobase_iter(PyObject *self) { if (_PyIOBase_check_closed(self,Py_True) == NULL) return NULL; Py_INCREF(self); return self; } static PyObject * iobase_iternext(PyObject *self) { PyObject *line = PyObject_CallMethodObjArgs(self,_PyIO_str_readline,NULL); if (line == NULL) return NULL; if (PyObject_Size(line) == 0) { Py_DECREF(line); return NULL; } return line; } open返回的文件对象,以及为sys.stdout之类的东西自动创建的文件对象,以及stdlib(GzipFile等)中其他任何地方创建的大多数或所有文件对象,都是 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |