2

my_code.py在. Home/Python_Codes_ ubuntu我想在 python shell 中运行它。我怎样才能做到这一点?

我这样

>>> execfile('~/Python_Codes/my_code.py')

但它给了我路径错误

4

4 回答 4

6

您应该将 tilde(~) 扩展为实际路径。试试下面的代码。

在 Python 2.x 中:

import os
execfile(os.path.expanduser('~/Python_Codes/my_code.py'))

在 Python 3.x 中(execfile在 Python 3.x 中没有):

import os
with open(os.path.expanduser('~/Python_Codes/my_code.py')) as f:
    exec(f.read())
于 2013-07-08T02:29:47.950 回答
2

导入您的模块将在最高缩进级别执行任何代码 - 这包括创建您在那里定义的任何函数和类。

james@Brindle:/tmp$ cat my_codes.py

def myfunc(arg1, arg2):
    print "arg1: %s, arg2: %s" % (arg1, arg2)

print "hello"
james@Brindle:/tmp$ python
Python 2.7.5 (default, Jun 14 2013, 22:12:26)
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.60)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import my_codes
hello
>>> my_codes.myfunc("one", "two")
arg1: one, arg2: two
>>>

要添加~/Python_Codes到 python 将搜索的位置列表,您可以sys.path将该目录添加到列表的开头。

>>> import sys
>>> print sys.path
['', ... '/Library/Python/2.7/site-packages']
>>> sys.path.insert(0,'/home/me/Python_codes/')
>>> import my_codes
于 2013-07-08T02:31:37.853 回答
0

import os,然后执行os.system('~/Python_Codes/my_code.py'),可能需要把path('~/Python_Codes/my_code.py')改成绝对路径

于 2013-07-08T02:32:27.123 回答
-1

转到运行 >> cmd >> 将目录更改为 Python 文件夹,记住将文件 my_file.py 放入该文件夹。例如:如果您的 Python 文件夹位于 C 盘,请键入

cd C:\Python

然后输入这个

python my_file.py

系统将运行您的文件。

于 2013-07-08T02:21:00.793 回答