一、paths.get方法
在Python的os模块中,paths.get()方法是很常见且很有用的一个方法,它的作用是返回一个Path对象,该对象代表指定路径。例如:
import os path = os.path.get("C:/Users/John/Desktop") print(path)
运行结果:
C:\Users\John\Desktop
通过打印输出,可以看到这个方法的返回值为一个字符串,代表指定路径。
二、paths.get找不到
在使用paths.get()方法时,可能会遇到找不到路径的情况。这时,不要慌张,我们可以使用os.path.exists()方法来判断指定路径是否存在。
import os path = "C:/Users/Jane/Pictures" if os.path.exists(path): print(os.path.get(path)) else: print("路径不存在")
运行结果:
C:\Users\Jane\Pictures
通过判断路径是否存在,再使用paths.get()方法,就避免了找不到路径的问题。
三、paths.get路径
在使用paths.get()方法时,如何获取路径呢?
其实很简单,可以使用Path对象的as_posix()方法将路径转换为字符串,例如:
import os path = os.path.abspath("test.txt") print(type(path)) # 打印类型 print(path.as_posix()) # 路径转换为字符串
运行结果:
C:/Users/John/Desktop/test.txt
可以看到,通过as_posix()方法可以将Path对象转换为字符串路径。
四、paths.get相对路径
相对路径是相对于当前工作目录的路径,使用os.path.get()方法时,我们需要注意相对路径与绝对路径的区别。
例如,在当前工作目录下,有一个文件夹”python”,它包含了一个文件”test.txt”,路径为”python\test.txt”。而我们当前的Python文件所在路径为”C:\Users\John\Desktop\project”,我们如何获取test.txt的路径呢?
import os path = os.path.abspath("python/test.txt") print(path)
运行结果:
C:\Users\John\Desktop\project\python\test.txt
通过调用os.path.abspath()方法获取相对路径的绝对路径,就可以拼接出完整的路径。
五、paths.net不安全
在使用paths.get()方法时,需要注意路径的安全性。例如:
import os path = os.path.abspath("C:/Users/John/Desktop") if "secret" in path: print("存在敏感信息") else: print(os.path.get(path))
在这个例子中,判断路径中是否包含”secret”敏感信息,如果存在,则不打印路径。这可以避免敏感信息的外泄。
六、paths.get()方法含义
paths.get()方法的含义是返回一个Path对象,代表指定路径。Path对象是Python 3.4之后的一个新功能,它提供了很多实用的方法,例如joinpath()、make_absolute()等等。
import os path = os.path.abspath("test.txt") p = os.path.get(path) print(p) # 返回Path对象 print(p.name) # 返回文件名 print(p.parent) # 返回文件所在目录
可以看到,通过获取路径返回的Path对象,我们可以进一步操作该路径。
七、paths.get()方法安全
相比os.path.get()方法,使用Path对象可以更加安全。例如:
import pathlib path = pathlib.Path("C:/Users/John/Desktop/test.txt") if "secret" in path.name: print("存在敏感信息") else: print(path.as_posix()) # 返回路径字符串
在这个例子中,使用pathlib.Path()方法来创建Path对象,并且可以直接访问Path对象的name属性,避免了对路径字符串的操作。
八、paths.get报FileSystemNo
在使用Path对象时,可能会遇到FileSystemNo的错误,这是由于路径不存在造成的。这时,我们可以使用Path对象的exist()方法来判断其是否存在。
import pathlib path = pathlib.Path("C:/Users/John/Desktop/test.txt") if path.exists(): print(path.as_posix()) else: print("路径不存在")
通过判断路径是否存在,就可以避免FileSystemNo的错误。
九、paths.get()不安全
在使用Path对象时,也需要注意路径的安全性。例如:
import pathlib path = pathlib.Path("C:/Users/John/Desktop") if "secret" in path.as_posix(): print("存在敏感信息") else: for file in path.iterdir(): print(file.name)
在这个例子中,判断路径字符串是否包含敏感信息,如果存在,则不打印路径中的文件和文件夹。这可以避免敏感信息的外泄。
十、paths.net函数
os.path模块提供了很多与路径相关的方法,例如isfile()、isdir()、split()等等。而pathlib模块的Path对象也提供了很多常用的方法,例如joinpath()、name()、parent()等等。
通过使用这些方法,我们可以更方便地操作路径。
代码总览
import os import pathlib # paths.get方法 path = os.path.get("C:/Users/John/Desktop") print(path) # paths.get找不到 path = "C:/Users/Jane/Pictures" if os.path.exists(path): print(os.path.get(path)) else: print("路径不存在") # paths.get路径 path = os.path.abspath("test.txt") print(type(path)) print(path.as_posix()) # paths.get相对路径 path = os.path.abspath("python/test.txt") print(path) # paths.net不安全 path = os.path.abspath("C:/Users/John/Desktop") if "secret" in path: print("存在敏感信息") else: print(os.path.get(path)) # paths.get()方法含义 path = os.path.abspath("test.txt") p = os.path.get(path) print(p) print(p.name) print(p.parent) # paths.get()方法安全 path = pathlib.Path("C:/Users/John/Desktop/test.txt") if "secret" in path.name: print("存在敏感信息") else: print(path.as_posix()) # paths.get报FileSystemNo path = pathlib.Path("C:/Users/John/Desktop/test.txt") if path.exists(): print(path.as_posix()) else: print("路径不存在") # paths.get()不安全 path = pathlib.Path("C:/Users/John/Desktop") if "secret" in path.as_posix(): print("存在敏感信息") else: for file in path.iterdir(): print(file.name)
原创文章,作者:ZJSU,如若转载,请注明出处:https://www.506064.com/n/134106.html