从文件对象中获取文件的文件大小

时间:2017-04-07 12:30:19

标签: python python-2.7 file csv

我需要知道基于文件对象的文件大小

import csv
import os
with open("test.csv", "rb") as infile:
    reader = csv.reader(infile)
    print reader
    filesize(reader)
def filesize(reader):
    os.getsize(reader) #And i need work with reader for more details.so I must need to pass a reader or file object

当我运行这个时,我得到了一个输出

<_csv.reader object at 0x7f5644584980>

从这个文件对象中我如何得到文件的大小?

我检查了此网站,但这些不是CSV属性size of an open file object

编辑:当我使用这两个内置函数时,我遇到了错误

  

AttributeError:&#39; _csv.reader&#39;对象没有属性&#39;寻找&#39;   AttributeError:&#39; _csv.reader&#39;对象没有属性&#39;告诉&#39;

3 个答案:

答案 0 :(得分:2)

os.path.getsize有什么问题?

使用您的代码:

import os
import csv
with open("test.csv", "rb") as infile:
   reader = csv.reader(infile)
   print os.path.getsize(infile.name)

大小以字节为单位。

答案 1 :(得分:2)

添加这个答案是因为它实际上回答了关于直接使用文件对象的问题:

import csv
import os
with open("test.csv", "rb") as infile:
    reader = csv.reader(infile)
    print reader
    infile.seek(0, os.SEEK_END)
    filesize = infile.tell()

答案 2 :(得分:1)

您可以使用os.path.getsizeos.stats

import os
os.path.getsize('test.csv')

OR

os.stat('test.csv').st_size 

返回大小,以字节为单位。