首页 > 编程语言 >python生成相对于入口文件所在目录的绝对路径

python生成相对于入口文件所在目录的绝对路径

时间:2023-08-20 20:23:28浏览次数:38  
标签:__ 文件 python 入口 fileName 绝对路径 os

在VSCODE中, 如果打开多个python文件夹, 则在执行python文件时, 有时候当前工作目录会切换到其他文件夹, 导致保存和读取文件报错. 这时候可以生成文件的绝对路径, 就可以避归这个问题.
下面是生成绝对路径的代码:

import os
import __main__
def AbsPath(fileName:str)->str:
    '''返回文件的全路径'''
    if os.path.isabs(fileName): return fileName # 如果已经是绝对路径了, 则直接返回
    entryPath = os.path.dirname(__main__.__file__) # 获取入口文件所在目录
    return os.path.join(entryPath,fileName) # 拼接得到绝对路径

标签:__,文件,python,入口,fileName,绝对路径,os
From: https://www.cnblogs.com/huzhongqiang/p/17644505.html

相关文章

  • Python爬虫实现简单翻译
    importrequestsimportjsonimportosurl="http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule"data={"from":"AUTO","to":"AUTO","smartresult":"dict&quo......
  • 高效 Python (Effective Python)
    有效的PythonEffectivePythonPython思维方式第1条知道你使用的Python版本python--version#Python3.8.10Python3通常是python3python3--version#Python3.8.10在运行中,可以通过sys.version来获取python的版本>>>importsys>>>print(sys.version_......
  • python pycharm interpreter import cv2
     在安装opencv-python,在cmd输入python,importcv2正常,在pycharm中importcv2即显示ModuleNotFoundError:Nomodulenamed'cv2',解决方法:在pycharm——file——setting——project:objname(当前项目名称)——python interpreter中选择anaconda安装目录下的python.e......
  • Mac Catalina安装Python版本Crypto
    在PyCharm2020+VirtualEnvs环境下使用如下命令,在MacCatalina上成功安装Crypto模块:pip3installpycrypto示例'''JustfortestAESalgorithminPython'''importbase64fromCrypto.CipherimportAESdefadd_to_16(value):whilelen(value)%16!......
  • python进程池的阻塞和非阻塞
    进程池概念:当需要上百上千个目标时,手动创建进程工作量大,此时就可以用到multiprocessing模块中提供的pool方法。初始化pool时,可以指定一个最大的进程数,当有新的请求提交到pool中时,如果pool还没有满,那么就会创造一个新的进程用于执行该请求。如果pool中的进程数满了,那么就需要等......
  • python字符串的定义和表示及使用语法
    Python中字符串是由字符组成的不可变序列。字符串可以用单引号(')或双引号(")括起来表示。例如:s1='HelloWorld's2="PythonProgramming"Python还支持原始字符串,原始字符串以前缀r或R开头,可以包含转义字符但不会被解析。例如:s3=r'C:\Users\name\Documents'在字符串中可......
  • 「Python」第一阶段第七章笔记
    函数的多返回值"""函数的多返回值"""defmy_return():return1,2x,y=my_return()print(x,y,type(x),type(y))函数的多种传参方式"""函数的多种传参方式-位置-参数-缺省-不定长"""#位置传参形参实参位置对应defadd(a=0,b=0)......
  • 「Python」第一阶段第五章笔记
    函数的初体验"""函数的初体验"""name="OrzMiku"print(f"{name}这个名字有{len(name)}个字符长")函数的定义"""函数的定义def函数名(参数表):函数体return返回值"""defsayHello():print("HelloW......
  • 「Python」第一阶段第二章 笔记
    字面量#字面量:写在程序中固定的值print(114514)print(1919810)print("HelloWorld")注释"""Python中的多行注释"""print("多行注释用三个引号开头三个引号结尾")#Python中的单行注释print("单行注释以井号开头")变量"""变量名=变量值&......
  • 「Python」第一阶段第三章笔记
    布尔类型和比较运算符"""跳过"""if语句基本格式"""if语句基本格式if条件:代码块"""age=int(input("请输入你的年龄:"))ifage>=18:print("老东西速速爆金币!")quit()print("小东西给我磕一个!")......