os.path.abspath()错误

import os
import os.path


res = []


#def paththourgh(dir):
#    for x,y,z in os.walk(dir):
#        for i in z:
#            if i[-3:] == '.py':
#                res.append(os.path.join(x,i))
def paththourgh(dir):
    for i in os.listdir(dir):
        #print os.path.abspath(i)
        if os.path.isdir(i):
            #paththourgh(dir+os.sep+i)
            paththourgh(os.path.abspath(i))
            
        else:
            if i[-3:] == '.py':
                res.append(os.path.join(dir,i))
                #res.append(os.path.abspath(i)) 这个函数输出是错误的,因为相当于调用的是
                #os.path.normpath(os.path.join(os.getcwd(), path))getcwd获取的是脚本运行时的目录
               


if __name__ == '__main__':
    paththourgh(r'D:\py')
    print res
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: os.path.abspath()函数用于返回指定路径的绝对路径。如果指定的路径已经是绝对路径,则直接返回该路径;如果是相对路径,则将其转换为绝对路径。该函数可以处理包含符号链接的路径,并且可以处理不同操作系统下的路径格式。 ### 回答2: os.path.abspath() 是 Python 中的一个内置函数,用于获取给定路径的绝对路径。 在使用 os.path.abspath() 函数时,需要提供一个路径(可以是相对路径或绝对路径)作为参数。该函数会返回参数所表示的路径的绝对路径。如果参数是相对路径,则会基于当前工作目录计算得到相应的绝对路径。 具体而言,os.path.abspath() 函数会根据操作系统的不同进行不同的处理。在 POSIX 系统(如Linux、Unix等)中,该函数会将路径规范化并返回。规范化会移除多余的斜杠,展开用户目录(如 "~" 符号),解析符号链接等。在 Windows 系统中,该函数会将路径转换为绝对路径,并且将所有正斜杠替换为反斜杠。 使用 os.path.abspath() 函数可以帮助我们获取给定路径的实际位置,而不受当前工作目录或路径格式的影响。这在处理文件、目录或路径时非常有用。在编写代码时,经常需要解析、操作或访问不同位置的文件。使用 os.path.abspath() 可以确保我们获得的路径是准确的,从而避免了由于路径相关的错误导致的问题。 下面是一个示例: ```python import os # 获取当前工作目录 current_dir = os.getcwd() # 相对路径 relative_path = 'example.txt' # 绝对路径 absolute_path = os.path.abspath(relative_path) # 输出结果 print(f"相对路径: {relative_path}") print(f"绝对路径: {absolute_path}") ``` 以上代码会打印出相对路径和绝对路径的值。在这个例子中,`example.txt` 是一个相对于当前工作目录的文件路径。通过调用 `os.path.abspath()` 函数,可以获取到该文件的绝对路径,无论当前工作目录是什么。 ### 回答3: os.path.abspath()函数用于返回一个路径的绝对路径。该函数接受一个字符串参数,表示一个路径,可以是相对路径或绝对路径。函数的返回值是该路径的绝对路径字符串。 当传入的路径是一个相对路径时,os.path.abspath()函数会根据当前工作目录,将相对路径转换为绝对路径。当前工作目录是指命令提示符或脚本运行时的当前目录。例如,当前工作目录是"/users/home",传入的相对路径是"documents/file.txt",那么函数返回的绝对路径就是"/users/home/documents/file.txt"。 当传入的路径已经是一个绝对路径时,os.path.abspath()函数会直接返回该路径,不做任何变换。 使用os.path.abspath()函数可以方便地获取一个文件或目录的绝对路径,而不受命令提示符或脚本运行位置的影响。这在编写需要读取或处理文件的程序时特别有用。 需要注意的是,os.path.abspath()函数只返回路径的绝对路径字符串,并不检查路径是否存在或有效。如果需要检查路径的有效性,可以使用其他函数,如os.path.exists()等。 总之,os.path.abspath()函数是一个用于获取路径的绝对路径的便捷函数,可以根据当前工作目录将相对路径转换为绝对路径,或直接返回已经是绝对路径的路径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值