python程序运行其他py文件过程的路径问题

"""

这个是被调用函数的路径
"""


# from __future__ import print_function
import os,sys

import numpy as np
import math
import stepless
import random

print(os.path.realpath('2.py'))

 

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""调用这个函数时候的路径

"""

import os
for i in range (1,3):
    temppath1='python'+' '+'./'
    # exec(open('./1/newsample.py').read())
    # execfile('./1/newsample.py')
os.system('python ./1/2.py')
print(os.path.abspath('./1/2.py'))
 

最后两者不一样,我想运行2的时候,他的路径是2当时的 真实路径,而不是运行2.py的那个程序所在的路径

 

如果你想在一个程序里运行另一个程序的话,那么就用import 就好,前提是这个程序必须能有效输出。

如果你想在一个程序里借用其他程序的函数或者class,那么也用import,但是拥有函数的程序不能有任何形式的输出,不然会运行程序,

例如:

import turtle的时候,turtle就没有任何输出,turtle是个库,他里面只有函数,所以可以import