小编给大家分享一下python中文件操作修改模块有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
1.使用OS模块进行path路径操作
操作的语法为os.path.方法名();
import os # 首先导入os模块
abspath()方法:获取当前文件的全路径,所带参数为file;
file_path = os.path.abspath(__file__) # 获取当前文件的全路径print(file_path)
dirname()方法: 获取当前文件的目录全路径,所带参数为文件全路径;
dir_path = os.path.dirname(file_path) # 获取当前文件的目录全路径print(dir_path)
join()方法:使用拼接方法来拼接路径,第一个参数为文件目录路径,第二个参数为需要拼接的路径;
img_path = os.path.join(dir_path, 'img') # 拼接路径print(img_path)
basename()方法:获取文件名,所带参数为文件全路径;
file_name = os.path.basename(file_path) # 获取文件名print(file_name)
split()方法:切割方法, 获取目录和文件名,所得结果为一个元组;
tuple_path = os.path.split(file_path) # 获取目录和文件名print(tuple_path)
2.pathlib模块
使用pathlib模块需要导入Path类,将Path类实例化为一个path对象,或者直接使用Path类初始化新的路径;
from pathlib import Pathpath = Path()print(path) # 显示当前目录path2 = Path('var', 'log', 'message') # 路径初始化print(path2)path3 = Path('/var', 'log', 'message') # 路径初始化print(path3)
joinpath()方法:拼接路径;
path4 = path3.joinpath('message.log') # 路径拼接 /var/log/message/message.logprint(path4)
parent:返回目录路径;
path5 = path4.parent # 返回目录路径print(path5)
parents:返回一个路径对象,可通过for循环遍历获取;
path6 = path4.parents # 返回一个对象print(path6)
name:获取文件名;
for i in path6: print(i)print(path4.name) # message.log
suffix:获取扩展名;
print(path4.suffix) # 扩展名
suffixes:获取扩展名列表,列表类型;
print(path4.suffixes) # 扩展名列表
cwd()方法:获取文件当前名;
print(path4.cwd()) # 当前目录
glob()方法:通配符方法,如’*.log’,表示找到所有以.log结尾的文件;
objs = path4.parent.parent.glob('*.log') # 匹配目录下面以.log结尾的文件for i in objs: print(i)
3.sys模块
使用之前需要导入sys模块;
import sys
sys.argv:实现从程序外部向程序传递参数;
print(sys.argv[0]) # 当前文件路径print(sys.argv.__len__() -1) # 参数个数print(sys.argv[1]) # 第一个参数
sys.path:获取指定模块搜索路径的字符串集合,可以将写好的模块放在得到的某个路径下,就可以在程序中import时正确找到;
print(sys.path) # Python的搜索路径
sys.exit(n): 退出程序,正常退出时exit(0) ;
import sysprint("开始")try: sys.exit(1)except SystemExit: print("中途退出")print("退出")# 输出:# 开始# 中途退出# 退出
sys.modules :返回系统导入的模块字段,key是模块名,value是模块 ;
4.shutil模块
使用之前需要导入shutil模块;
copy()方法:文件系统发级别的拷贝,将一个文件的内容拷贝到另一个文件中,类似于Linux系统的copy;
import shutil# ./monitor.py 源文件shutil.copy('./monitor.py', 'hello.py')
5.copy模块
使用之前需要导入copy模块;
copy.copy():浅拷贝,只拷贝父对象,不会拷贝对象的内部的子对象;
copy.deepcopy():深拷贝,复制了对象和对象的所有子对象;
import copylst = [1,123]lst.copy() # 浅拷贝string1 = copy.copy('321')print(string1) # 321# 深拷贝string2 = copy.deepcopy('321')print(string2) # 321
6.文件路径斜杆问题
'/ '
:正斜杆,linux下使用正斜杆作为分隔符;'\ '
:反斜杆,windows下使用的是反斜杆作为分隔符;注意:网页的背景图片路径必需是
'/ '
正斜杆,还有'\'
反斜杆有时候代表转义符。
以上是“python中文件操作修改模块有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!