使用python进行txt文本的读取,代码如下:
with open(self.getFileFromSd(DATASET_PATH, "node")) as f:
for l in f:
nl.append(l.rstrip('\n').rstrip())
很奇怪的是,一直报错,提示TypeError: function takes at least 2 arguments (1 given),可是网上查到,open函数只需要一个参数就行。
后来试了下
with open(self.getFileFromSd(DATASET_PATH, "node"),'r') as f:
依然没用,报的错变了,提示 integer is required。
后来发现,这是由于自己在程序开头引用了from os import *
,os里的open函数的确需要两个参数!
方法一:
修改os的引用方式,改为import os as os
,并将其他调用os里函数的地方加上“os.”前缀,如ft = os.path.splitext(f)
方法二:
参考os.open()的使用方法,open()方法语法格式如下:
os.open(file, flags[, mode]);
file – 要打开的文件
flags – 打开选项,可以是以下选项,多个使用 “|” 隔开:
os.O_RDONLY: 以只读的方式打开
os.O_WRONLY: 以只写的方式打开
os.O_RDWR : 以读写的方式打开
参考:Python os.open() 方法