[英]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.