python程序如何处理符号链接的路径问题?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

python程序如何处理符号链接的路径问题?

2016-06-20 11:04:16 2758 2

比如有一个python程序test.py,它调用了本目录下的B.py文件,可用如下语句:

os.system('python B.py')
这时我创建了test.py的一个符号链接到其他目录(比如说/usr/local/bin),这时通过符号链接运行程序时会因为路径问题找不到B.py而出错。python中应该如何处理这种类型的问题?

另外,linux中的/usr/bin下有很多的程序都是符号链接,它们是如何处理这种路径问题的?比如说mysql,我将其放在/opt/目录下,并将其可执行程序链接到/usr/bin,那么它是靠什么方法找到位于/opt/下的配置文件等文件的?

取消 提交回答
全部回答(2)
  • 游客drl6uevi2k7uk
    2019-07-17 19:43:54

    mypath = os.path.abspath(os.path.dirname(os.path.realpath(__file__)))
    os.chdir(mypath)

    0 0
  • a123456678
    2019-07-17 19:43:54

    os.system('python B.py')
    要能够正确地执行,B.py 应当位于当前工作目录,即 os.getcwd() 的返回值下。除非你改变了工作目录(os.chdir(path)),否则,你在哪个目录里运行你的 test.py,它就会在哪个目录里寻找 B.py。

    你可以先改变工作目录。比如下边的代码改变工作目录到脚本本身所在的目录,跟随所有软链接:

    mypath = os.path.abspath(os.path.dirname(os.path.realpath(__file__)))
    os.chdir(mypath)
    Linux 下很多程序是在编译期将一些路径硬编码进可执行文件的。

    0 0
添加回答
相关问答

2

回答

python路径表示什么意思

2018-05-10 20:11:04 1663浏览量 回答数 2

1

回答

python 路径是什么意思

2018-05-10 20:10:54 1660浏览量 回答数 1

1

回答

使用Python,函数计算是否支持fastapi?

2022-06-06 12:38:34 672浏览量 回答数 1

1

回答

python函数中等效的函数调用的含义?

2021-11-04 20:35:22 331浏览量 回答数 1

1

回答

python函数关键字实参的含义是什么?

2021-11-04 20:23:16 379浏览量 回答数 1

1

回答

python的函数file.writelines(sequence)的作用是什么?

2021-11-04 20:22:10 128浏览量 回答数 1

1

回答

python的函数file.write(str)的作用是什么?

2021-11-04 20:21:39 220浏览量 回答数 1

1

回答

python的函数file.truncate(【size】)的作用是什么?

2021-11-04 20:21:06 196浏览量 回答数 1

1

回答

python的函数file.tell()的作用是什么?

2021-11-04 20:20:25 145浏览量 回答数 1

1

回答

python函数传递多个参数时参数的数据类型有什么要求?

2021-11-02 21:28:33 943浏览量 回答数 1
+关注
文章
问答
问答排行榜
最热
最新
相关电子书
更多
Python 脚本速查手册
立即下载
Python第五讲——关于爬虫如何做js逆向的思路
立即下载
Python系列直播第一讲——Python中的一切皆对象
立即下载