‘壹’ python 运行文件路径问题
Desktop/LCI是相对路径,前面会自动加上当前路径
/Desktop/LCI才是绝对路径,路径与文件名要用/分隔,不要空格
python /Desktop/LCI/click.py
‘贰’ python中的“绝对路径”和“相对路径”如何理解
相对路径是相对脚本文件来的。
比如脚本在C:/python目录下,相同目录下有一个文件叫test.txt
那么绝对路径就是 C:/python/test.txt,相对路径就是test.txt
使用脚本 open('C:/python/test.txt','r') 和 open('test.txt','r')效果都是一样的
‘叁’ 为什么在Python中我自定义的模块路径无效呢
直接sys.path.append('D:\\PathonTest')。
你加到路径里的是'F:\\Program Files\\PythonF:\\PathonTest',这个是个错误路径啊。
os.getcwd()是获得当前程序运行的路径,如果这句话不是在某个脚本中运行而是直接在IDLE中写的,那得到的就是Python IDLE的路径。不需要加和'D:\\PathonTest'加到一起(不明白为什么要两个路径加一下),而且也不需要sys.path.append(os.getcwd()),Python IDLE的路径肯定已经在path里面了,不需要重复加入。
‘肆’ python中的绝对路径和相对路径均如何理解呢
Python中的绝对路径和其他语言并无区别。
Python中的相对路径则有所不同,一般语言的相对路径的父目录指的是文件所在目录,而Python的相对路径的父目录指的是当前脚本执行目录。举个简单的例子:我有一个放在/xyz/bin目录下的脚本 test.py。那么他的绝对路径就是/xyz/bin,如果你在你的test脚本中使用了相对路径的话,那么test.py中的相对路径是根据脚本执行时你的当前目录所决定的。比如,如果你在/xyz/bin目录下还有一个文件test.txt,这是test.py中所使用的文件,那么在/xyz/bin目录下执行./test.py是没有问题的。但是如果你在其他目录执行python /xyz/bin/test.py,如果其他目录没有test.txt文件,那么必然会报错。因为此时相对路径的父目录已经不是/xyz/bin了,自然找不到/xyz/bin/test.txt。
‘伍’ python 相对路径问题,新手。谢谢。
使用os模块来获取当前文件的绝对路径和拼接路径。
importos
BASE_DIR=os.path.dirname(__file__)#获取当前文件夹的绝对路径
printBASE_DIR
file_path=os.path.join(BASE_DIR,'Test_Data')#获取当前文件夹内的Test_Data文件
Test_Data=open(file_path,"r")#读取文件
forlineinTest_Data:
printline
Test_Data.close()#关闭文件
‘陆’ mac打包python + pyinstaller,解决相对路径问题
命令: pip pyinstaller 命令: pyinstaller --windowed --onefile --clean --noconfirm target.py 注:target.py 为目标脚本文件 问题: 如果,打包使用绝对路径会出现每更换一台电脑,而且脚本中需要调用资源文 件,就要重新进行配置路径; 解决方法:获取脚本运行的当前路径,在用于其他资源调取的路径 命令:import os, sys path = os.path.dirname(os.path.dirname(os.path.realpath(sys.executable))) path 获取的是脚本运行当前路径的上一级路径; 后面调用文件路径根据文件夹和脚本的层级关系,随意更换path