python 文件操作的模块_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 Path

path = Path()

print(path) # 显示当前目录

path1 = Path('var', 'log', 'message') # 路径初始化

print(path1)

path2 = Path('/var', 'log', 'message') # 路径初始化

print(path2)

如果你依然在编程的世界里迷茫,

不知道自己的未来规划,

对python感兴趣,

这里推荐一下我的学习交流圈QQ群:895 797 751,

里面都是学习python的,

joinpath()方法:拼接路径;

path3 = path2.joinpath('message.log') # 路径拼接 /var/log/message/message.log

print(path3)

parent:返回目录路径;

path4 = path3.parent # 返回目录路径

print(path4)

parents:返回一个路径对象,可通过for循环遍历获取;

path5 = path3.parents # 返回一个对象

print(path5)

name:获取文件名;

for i in path5:

print(i)

print(path3.name) # message.log

suffix:获取扩展名;

print(path3.suffix) # 扩展名

suffixes:获取扩展名列表,列表类型;

print(path3.suffixes) # 扩展名列表

cwd()方法:获取文件当前名;

print(path3.cwd()) # 当前目录

glob()方法:通配符方法,如'*.log',表示找到所有以.log结尾的文件;

objs = path3.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 sys

print("开始")

try:

sys.exit(1)

except SystemExit:

print("中途退出")

print("退出")

# 输出:

# 开始

# 中途退出

# 退出

如果你依然在编程的世界里迷茫,

不知道自己的未来规划,

对python感兴趣,

这里推荐一下我的学习交流圈QQ群:895 797 751,

里面都是学习python的,

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 copy

lst = [1,123]

lst.copy()

# 浅拷贝

string1 = copy.copy('321')

print(string1) # 321

# 深拷贝

string2 = copy.deepcopy('321')

print(string2) # 321

如果你依然在编程的世界里迷茫,

不知道自己的未来规划,

对python感兴趣,

这里推荐一下我的学习交流圈QQ群:895 797 751,

里面都是学习python的,

6.文件路径斜杆问题

'/ ':正斜杆,linux下使用正斜杆作为分隔符;

'\ ':反斜杆,windows下使用的是反斜杆作为分隔符;

注意:网页的背景图片路径必需是'/ '正斜杆,还有'\'反斜杆有时候代表转义符;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值