如题所述
è·¯å¾æ两ç§ï¼ç¸å¯¹è·¯å¾åç»å¯¹è·¯å¾ã 对äºUnix-Likeç³»ç»æ¥è¯´ï¼ç»å¯¹è·¯å¾å°±æ¯ä»¥/å¼å¤´çè·¯å¾ã ç¸å¯¹è·¯å¾å°±æ¯ä¸ä»¥/å¼å¤´çè·¯å¾ã
å ¶å®ï¼æä½ç³»ç»ä¸å®é åªæä¸ç§è·¯å¾ï¼é£å°±æ¯ç»å¯¹è·¯å¾ã ç¸å¯¹è·¯å¾ï¼åªæ¯ç¨åºèªå·±å¸®æ们修æ¹ä¸ºç»å¯¹è·¯å¾äºã
æä½ç³»ç»çç¨åºè¿è¡å¨å©ç¨ç¯å¢åéï¼ä¸ºæ们æç¸å¯¹è·¯å¾çæ为ç»å¯¹è·¯å¾ãgetcwd()å½æ°ç¨äºå¾å°å½åè¿ç¨çå½åå·¥ä½è·¯å¾ãä¹å°±æ¯ç¸å¯¹è·¯å¾çèµ·å§ç¹ã
å¨Pythonä¸ï¼å¯ä»¥ä½¿ç¨os.chdirå½æ°åæ¢å½åå·¥ä½è·¯å¾ã
å½åå·¥ä½è·¯å¾ï¼æ¯ç¨åºæ§è¡æ¶æå¨çè·¯å¾ã æ们å¨åªä¸ªç®å½ä¸æ§è¡ç¨åºï¼å½åè·¯å¾å°±æ¯åªä¸ä¸ªç®å½ã
æ们常常éè¦å¨pythonä¸æ§è¡ä¸äºæºç ç®å½ä¸çæ件ãå¦ï¼æ们å¯è½éè¦ç¨evalå¨ææ§è¡ä¸ä¸ªpythonæºæ件ãæè copyä¸äºé ç½®æ件å°ç®æ ç³»ç»çè·¯å¾ä¸ãæ¤æ¶ï¼æ们æ æ³ç¥éè¿äºæ件çç»å¯¹è·¯å¾ï¼å 为æ们ä¸è½é¢ç¥ç¨æ·ä¼ææ们çç¨åºå®è£ å°åªä¸ä¸ªç®å½ä¸ã
æ们ä¹ä¸è½ä¾èµäºå½åå·¥ä½è·¯å¾ãå 为ç¨æ·å¾å¯è½ä¸å¨æ们çæºç ç®å½ä¸æ§è¡æ们çç¨åºã
é£ä¹ï¼æ¤æ¶æ们å¦ä½å¾å°æºç ç®å½ä¸æ件çç»å¯¹è·¯å¾å¢ï¼
ææ¯è¿æ ·åçï¼
ABSPATH=None
if __name__ == '__main__':
ABSPATH=os.path.abspath(sys.argv[0])
ABSPATH=os.path.dirname(ABSPATH)+"/"
print ABSPATH
å ¶å®ï¼æä½ç³»ç»ä¸å®é åªæä¸ç§è·¯å¾ï¼é£å°±æ¯ç»å¯¹è·¯å¾ã ç¸å¯¹è·¯å¾ï¼åªæ¯ç¨åºèªå·±å¸®æ们修æ¹ä¸ºç»å¯¹è·¯å¾äºã
æä½ç³»ç»çç¨åºè¿è¡å¨å©ç¨ç¯å¢åéï¼ä¸ºæ们æç¸å¯¹è·¯å¾çæ为ç»å¯¹è·¯å¾ãgetcwd()å½æ°ç¨äºå¾å°å½åè¿ç¨çå½åå·¥ä½è·¯å¾ãä¹å°±æ¯ç¸å¯¹è·¯å¾çèµ·å§ç¹ã
å¨Pythonä¸ï¼å¯ä»¥ä½¿ç¨os.chdirå½æ°åæ¢å½åå·¥ä½è·¯å¾ã
å½åå·¥ä½è·¯å¾ï¼æ¯ç¨åºæ§è¡æ¶æå¨çè·¯å¾ã æ们å¨åªä¸ªç®å½ä¸æ§è¡ç¨åºï¼å½åè·¯å¾å°±æ¯åªä¸ä¸ªç®å½ã
æ们常常éè¦å¨pythonä¸æ§è¡ä¸äºæºç ç®å½ä¸çæ件ãå¦ï¼æ们å¯è½éè¦ç¨evalå¨ææ§è¡ä¸ä¸ªpythonæºæ件ãæè copyä¸äºé ç½®æ件å°ç®æ ç³»ç»çè·¯å¾ä¸ãæ¤æ¶ï¼æ们æ æ³ç¥éè¿äºæ件çç»å¯¹è·¯å¾ï¼å 为æ们ä¸è½é¢ç¥ç¨æ·ä¼ææ们çç¨åºå®è£ å°åªä¸ä¸ªç®å½ä¸ã
æ们ä¹ä¸è½ä¾èµäºå½åå·¥ä½è·¯å¾ãå 为ç¨æ·å¾å¯è½ä¸å¨æ们çæºç ç®å½ä¸æ§è¡æ们çç¨åºã
é£ä¹ï¼æ¤æ¶æ们å¦ä½å¾å°æºç ç®å½ä¸æ件çç»å¯¹è·¯å¾å¢ï¼
ææ¯è¿æ ·åçï¼
ABSPATH=None
if __name__ == '__main__':
ABSPATH=os.path.abspath(sys.argv[0])
ABSPATH=os.path.dirname(ABSPATH)+"/"
print ABSPATH
温馨提示:答案为网友推荐,仅供参考
第1个回答 2015-03-21
路径有两种,相对路径和绝对路径。 对于Unix-Like系统来说,绝对路径就是以/开头的路径。 相对路径就是不以/开头的路径。
其实,操作系统中实际只有一种路径,那就是绝对路径。 相对路径,只是程序自己帮我们修改为绝对路径了。
操作系统的程序运行器利用环境变量,为我们把相对路径生成为绝对路径。getcwd()函数用于得到当前进程的当前工作路径。也就是相对路径的起始点。
在python中,可以使用os.chdir函数切换当前工作路径。
当前工作路径,是程序执行时所在的路径。 我们在哪个目录下执行程序,当前路径就是哪一个目录。
我们常常需要在python中执行一些源码目录下的文件。如,我们可能需要用eval动态执行一个python源文件。或者copy一些配置文件到目标系统的路径下。此时,我们无法知道这些文件的绝对路径,因为我们不能预知用户会把我们的程序安装到哪一个目录下。
我们也不能依赖于当前工作路径。因为用户很可能不在我们的源码目录下执行我们的程序。
那么,此时我们如何得到源码目录下文件的绝对路径呢?
我是这样做的:
ABSPATH=None
if __name__ == '__main__':
ABSPATH=os.path.abspath(sys.argv[0])
ABSPATH=os.path.dirname(ABSPATH)+"/"
print ABSPATH
通过拿到第一个参数的绝对路径,我们就知道了程序所在的绝对路径,我们就能够使用ABSPATH这个全局变量组装出 我们源码目录下的任意一个文件的绝对路径了!本回答被提问者和网友采纳
其实,操作系统中实际只有一种路径,那就是绝对路径。 相对路径,只是程序自己帮我们修改为绝对路径了。
操作系统的程序运行器利用环境变量,为我们把相对路径生成为绝对路径。getcwd()函数用于得到当前进程的当前工作路径。也就是相对路径的起始点。
在python中,可以使用os.chdir函数切换当前工作路径。
当前工作路径,是程序执行时所在的路径。 我们在哪个目录下执行程序,当前路径就是哪一个目录。
我们常常需要在python中执行一些源码目录下的文件。如,我们可能需要用eval动态执行一个python源文件。或者copy一些配置文件到目标系统的路径下。此时,我们无法知道这些文件的绝对路径,因为我们不能预知用户会把我们的程序安装到哪一个目录下。
我们也不能依赖于当前工作路径。因为用户很可能不在我们的源码目录下执行我们的程序。
那么,此时我们如何得到源码目录下文件的绝对路径呢?
我是这样做的:
ABSPATH=None
if __name__ == '__main__':
ABSPATH=os.path.abspath(sys.argv[0])
ABSPATH=os.path.dirname(ABSPATH)+"/"
print ABSPATH
通过拿到第一个参数的绝对路径,我们就知道了程序所在的绝对路径,我们就能够使用ABSPATH这个全局变量组装出 我们源码目录下的任意一个文件的绝对路径了!本回答被提问者和网友采纳