python pickle 读取文件 获取文件长度
时间: 2023-09-14 22:11:50 浏览: 61
使用pickle读取文件并获取文件长度的代码示例:
```python
import os
import pickle
file_path = "example.pkl"
# 读取文件
with open(file_path, "rb") as f:
data = pickle.load(f)
# 获取文件长度
file_size = os.path.getsize(file_path)
print("文件长度:{} bytes".format(file_size))
```
在这个示例中,我们首先使用pickle模块读取文件,然后使用os模块的getsize函数获取文件长度。最后,我们打印文件长度。请确保文件存在并正确地打开以便读取和获取文件长度。
相关问题
python pickle 读取文件 获取指针
在Python中,可以使用pickle模块来序列化和反序列化Python对象。如果你想要在反序列化过程中获取文件指针,可以在打开文件时使用"rb+"模式,并在反序列化时使用file.tell()方法来获取当前指针位置。
例如,假设你有一个名为"test.pkl"的pickle文件,其中包含一个Python对象。你可以使用以下代码来打开文件并反序列化对象,同时获取文件指针位置:
```
import pickle
with open('test.pkl', 'rb+') as file:
obj = pickle.load(file)
pos = file.tell()
```
在这个例子中,"rb+"模式允许我们在读取对象之后使用file.tell()方法来获取指针位置。你可以将pos变量用于后续文件操作。
python pickle 读取文件
使用 `pickle.load()` 函数可以从文件中读取使用 `pickle.dump()` 函数写入的 Python 对象。
以下是一个示例代码:
```python
import pickle
# 从文件中读取 Python 对象
with open("data.pickle", "rb") as f:
data = pickle.load(f)
# 打印读取的数据
print(data)
```
其中,`data.pickle` 是存储 Python 对象的文件名,`"rb"` 参数表示以二进制模式打开文件进行读取。
注意,`pickle.load()` 函数会自动将读取的数据反序列化成 Python 对象,因此可以直接使用。但是,由于 pickle 可能会执行任意代码,因此在从未信任的源读取 pickle 数据时需要特别小心。