Python语法问题-TypeError:找不到必需的参数'name'(pos 1)

时间:2019-06-20 07:09:01

标签: python syntax io python-2.x

我正在尝试按文件内容分离某些文件,我的代码如下所示 并且不断向我显示错误。

__author__ = 'Sahil Nagpal'

from pyspark import SparkContext,SparkConf
from pyspark.sql import SparkSession


spark = SparkSession.builder.appName("GEOTRELLIS").getOrCreate()
sparkcont = SparkContext.getOrCreate(SparkConf().setAppName("GEOTRELLIS"))
logs = sparkcont.setLogLevel("ERROR")



imageFile = "/mnt/imagefile/IMGFileCopy.txt"
one_meter_File = "/mnt/imagefile/one_meter/one_meter_file.txt"
_13_File = "/mnt/imagefile/13_meter/_13_File.txt"
ned19_File = "/mnt/imagefile/ned19/ned19_File.txt"

#iterate over the file
try:
    with open(file=imageFile,mode="r+") as file, open(file=one_meter_File,mode='w+') as one_meter_File,open(file=_13_File,mode='w+') as _13_File,open(file=ned19_File,mode='w+') as ned19_File:

        for data in file.readlines():
            if("one_meter" in data):
                #writing the one_meter file
                one_meter_File.write(data)
            elif("_13" in data):
                # writing the _13 file
                _13_File.write(data)
            elif("ned19" in data):
                # writing the ned19 file
                ned19_File.write(data)


        one_meter_File.close()
        _13_File.close()
        ned19_File.close()
        file.close()
    print("File Write Done")

except FileNotFoundError:
    print("File Not Found")

#spark-submit --master local[*] project.py

我遇到此错误

with open(file=imageFile,mode="r+") as file, open(file=one_meter_File,mode='w+') as one_meter_File,open(file=_13_File,mode='w+') as _13_File,open(file=ned19_File,mode='w+') as ned19_File:
TypeError: Required argument 'name' (pos 1) not found

有人可以帮忙吗?预先感谢。

1 个答案:

答案 0 :(得分:2)

您会看到here 内置函数open不会将文件作为关键字参数,需要直接进行设置,您的错误是找不到所需的参数“名称”,这是因为您需要设置文件的名称直接而不是作为关键字参数

即:open(one_meter_File, 'w+')

编辑以防人们阅读: 如注释中所述,此错误仅在python 2上发生,因为如果键名正确,则python 3会将kwargs作为普通args处理。因此,请检查您的python安装,或将其更正为python 2的需求,hereopen的python 2文档