在 Python 中解析扩展名为“.data”的文件?
Parsing a file with ".data" extension in Python?
我在 OS X 中使用空闲,我正在尝试解析扩展名为 .data
的文件:
FP = open('<filename>.data','r')
lines=FP.readlines()
print lines
但这会打印一个空数组:[]
我也试过 Sublime,但还是不行。在 Python 中阅读此内容的另一种方法是什么?
而不是 .readlines()
您可以将文件指针转换为自动获取所有行的列表。所以你可以这样做:
FP = open('filename.data', 'r')
print(list(FP))
或者这个:
FP = open('filename.data', 'r')
for line in FP:
print(line)
以 binary 模式打开它并打印其内容的 repr 而不是
print os.stat("filename.data") #ensure that st_size > 0
with open("filename.data","rb") as f:
print repr(f.read())
如果这给出一个空字符串,那么你确实有一个空文件...
我猜 ls -l 告诉你文件是 0 字节大?
当仅通过文件名打开文件时,Python 默认情况下将首先在当前工作目录中查找。如果您使用的是 IDLE,这实际上可能不是您所在的 .py 文件所在的目录。在与“*.data”文件相同的目录中从命令行尝试 运行 您的脚本。
我在 OS X 中使用空闲,我正在尝试解析扩展名为 .data
的文件:
FP = open('<filename>.data','r')
lines=FP.readlines()
print lines
但这会打印一个空数组:[]
我也试过 Sublime,但还是不行。在 Python 中阅读此内容的另一种方法是什么?
而不是 .readlines()
您可以将文件指针转换为自动获取所有行的列表。所以你可以这样做:
FP = open('filename.data', 'r')
print(list(FP))
或者这个:
FP = open('filename.data', 'r')
for line in FP:
print(line)
以 binary 模式打开它并打印其内容的 repr 而不是
print os.stat("filename.data") #ensure that st_size > 0
with open("filename.data","rb") as f:
print repr(f.read())
如果这给出一个空字符串,那么你确实有一个空文件...
我猜 ls -l 告诉你文件是 0 字节大?
当仅通过文件名打开文件时,Python 默认情况下将首先在当前工作目录中查找。如果您使用的是 IDLE,这实际上可能不是您所在的 .py 文件所在的目录。在与“*.data”文件相同的目录中从命令行尝试 运行 您的脚本。