繁体   English   中英

语法错误def数据(路径)的语法无效

[英]Syntax Error invalid syntax for def Data(path)

这是我遇到错误的代码行

def Data('C:/Users/username/Desktop/d.txt'):
    fp = open('C:/Users/username/Desktop/d.txt')

我收到以下错误:

File "read.py", line 17
    def DataExtract('C:/Users/username/Desktop/d.txt'):
                                                    ^
SyntaxError: invalid syntax

不知道问题是什么以及导致无效语法的原因

谢谢!

这是我正在处理的代码:

def DataExtract('C:/Users/username/Desktop/d.txt'):
fp = open('C:/Users/username/Desktop/d.txt')
data = {}
line = fp.read().split("\n")[2:7:5]:
while line:
    name, _, cont = line.partition(":")
    keys, _, values = cont.partition("=")
    keys = keys.split(",")
    values = values.split(",")
    temp_d = {}
    for i in range(len(keys)):
        key = key[i].strip()
        val = values[i].strip()
        temp_d[key] = float(val)
    data[name] = temp_d
    line = fp.readline()
fp.close()

返回数据

x = DataExtract('C:/Users/username/Desktop/d.txt')
mul_p = x['d1']['p'] * x['d2']['p']
print(mul_p)

如前面在@LhasaDad的评论中所述。

我在您的附加代码中发现了两个错误。

第一个错误:

首先是“ def”语句。 该函数需要一个变量占位符,而不是变量的值。 例如:

>>> def fun('hello'):
  File "<stdin>", line 1
    def fun('hello'):
                  ^
SyntaxError: invalid syntax
>>> def fun(5):
  File "<stdin>", line 1
    def fun(5):
            ^
SyntaxError: invalid syntax

正确的方法是


>>> def fun(var):
...     print(var)
...
>>> #Then call the function using below method
...
>>> fun('hello')
hello
>>> fun(5)
5

第二个错误:

应始终有and缩进(def语句后的制表符或4个空格)

所以希望您的情况能解决

def DataExtract(file_path):
    fp = open(file_path)
    data = {}
    line = fp.read().split("\n")[2:7:5]
    while line:
        name, _, cont = line.partition(":")
        keys, _, values = cont.partition("=")
        keys = keys.split(",")
        values = values.split(",")
        temp_d = {}
        for i in range(len(keys)):
            key = keys[i].strip()
            val = values[i].strip()
            temp_d[key] = float(val)
        data[name] = temp_d
        line = fp.readline()
    fp.close()


# Now call the function as
DataExtract('C:/Users/username/Desktop/d.txt')

您还可以从def https://www.w3schools.com/python/python_functions.asp阅读如何使用python函数

暂无
暂无

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

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