函数中文件路径的默认值导致语法错误。如何解决?
对于这个,
import os.path
def f(data_file_path=os.path.join(os.getcwd(),'temp'),type):
...
return data
我得到了这个,
SyntaxError: non-default argument follows default argument
有没有办法让这个工作,还是说我必须先定义一个变量,比如,
rawdata_path = os.path.join(os.getcwd(),'temp')
然后再把它放进这个函数里呢?
5 个回答
0
没关系。
SyntaxError: non-default argument follows default argument
这是说参数的顺序,所以,
def f(type,data_file_path=os.path.join(os.getcwd(),'temp')):
这样就可以了!
我还是个新手
0
重新排列参数:
def f(type, data_file_path=os.path.join(os.getcwd(),'temp')):
pass
这样做的原因是,带有默认值的参数可以不写。
但是如果你调用 f('foo')
,就不清楚你是想设置 type
这个参数,而把 data_file_path
忽略掉,还是说你想同时设置这两个参数。
1
把 type
移到 data_file_path
之前
def f(type,data_file_path=os.path.join(os.getcwd(),'temp')):
在函数参数中赋值的叫做默认参数,这些默认参数应该放在非默认参数之后。