我如何在 python 中获取变量的字节数,就像在 unix 中给出的 wc -c 一样
我在处理包含大量数据的文件时遇到一些问题。 我需要跳过对这些文件执行一些操作。 我将文件的数据放入变量中。 现在我需要获取变量的字节,如果它大于 102400 ,则打印一条消息。
更新:我无法打开这些文件,因为它存在于 tar 文件中。 内容已经被复制到名为“data”的变量中 我能够打印变量数据的内容。我只需要检查它是否超过 102400 字节。
谢谢
i am facing some problem with files with huge data.
i need to skip doing some execution on those files.
i get the data of the file into a variable.
now i need to get the byte of the variable and if it is greater than 102400 , then print a message.
update : i cannot open the files , since it is present in a tar file.
the content is already getting copied to a variable called 'data'
i am able to print contents of the variable data. i just need to check if it has more than 102400 bytes.
thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
更新以处理 tarfile 中的文件
Update to work on files in a tarfile
只需检查字符串的长度,然后:
Just check the length of the string, then:
如果我正确理解了这个问题,那么您想跳过某些太大的输入文件。为此,您可以使用
os.path.getsize()
:If I'm understanding the question correctly, you want to skip certain input files if they're too large. For that, you can use
os.path.getsize()
:如果是二进制数据,
len(data)
会给出以字节为单位的大小。对于字符串,大小取决于所使用的编码。len(data)
gives you the size in bytes if it's binary data. With strings the size depends on the encoding used.这个答案似乎无关紧要,因为我似乎误解了这个问题,现在已经澄清了。但是,如果有人发现这个问题,在使用几乎相同的术语进行搜索时,这个答案可能仍然相关:
只需以二进制模式打开文件
f = open(filename, 'rb')
读取/跳过一堆并打印下一个字节。我使用相同的方法一次“修复”了无数图像中的第 n 个字节。
This answer seems irrelevant, since I seem to have misunderstood the question, which has now been clarified. However, should someone find this question, while searching with pretty much the same terms, this answer may still be relevant:
Just open the file in binary mode
f = open(filename, 'rb')
read/skip a bunch and print the next byte(s). I used the same method to 'fix' the n-th byte in a zillion images once.