繁体   English   中英

在 Python 中读取文件时遇到问题

[英]Having trouble reading file in Python

我试图读取包含数据的特定文件,例如

数据

使用我编码

import glob, os
# Current directory
current_dir = os.path.dirname(os.path.abspath(__file__))
print(current_dir)
current_dir = 'Users/Kann/Desktop/My photo'
file_open = open('Front body-LPT0014.txt', 'r+')
x = file_open.readline()
alist = []
for i in x:
  alist.append(i)
file_open.close()

我试图让它返回第 2 列和第 3 列,但是当我运行代码时它什么都不返回

尝试这样的事情:

file_open = open('Front body-LPT0014.txt', 'r+')
alist = []
for line in file_open:
     fields = line.strip().split()
     alist.append((fields[1], fields[2]))

在这里,我们使用split()函数将文件的每一行拆分为一个单独的值列表(用空格分隔)。

您说您的代码不返回任何内容,但仅在您编写函数时返回才有意义,并且您的代码没有定义任何新函数。

你想对alist做什么? 您可以显示它,或将其写入新文件,或以其他方式处理它。 但是,如果你什么都不做,你就看不到任何结果。

@Andrew answer 会产生一个 TypeError 因为append()方法只接受一个参数。 您可以尝试以下解决方案(只需修改append()方法参数:

file_open = open('Front body-LPT0014.txt', 'r+')
alist = []
for line in file_open:
    fields = line.strip().split()
    alist.append([fields[1], fields[2]])

print(alist)

或者您可以创建一个生成器函数以获得更好的性能,这取决于您的目的:

def get_data():
    for line in file_open:
        fields = line.strip().split()
        yield fields[1], fields[2]


for x in get_data():
    print(x)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM