2017-01-12 51 views
-1

我在Mac上使用python2.7和我有相同的目录Python文件导入另一个Python文件,提示错误

$ls *.py 
1p.py 2.py 

下2个蟒蛇文件,它们是非常简单的:

$cat 1p.py 
def f(): 
    print "hello" 

$cat 2.py 
import 1p 
f() 

但运行2.py失败:

$python 2.py 
File "2.py", line 1 
    import 1p 
     ^
SyntaxError: invalid syntax 

我需要设置和环境变量,或者改变我的计划? 谢谢

+1

可能重复[在python中,如何导入文件名以数字开头](http://stackoverflow.com/questions/9090079/in-python-how-to-import-filename-starts-with-a-数) –

回答

1

为了导入,模块名称和文件名必须是有效的python标识符。所以即使你的文件系统接受了这个名字,这还不够。

1p这样的标识符无效,您必须重命名您的模块文件。为什么不用p1.py呢?这将工作。