Python(三十五)python文件操作(1)

简介: 5:文件指针操作函数 tell() seek()(1):tell()判断文件指针当前所处的位置lua复制代码f = open("log.txt", 'r', encoding="utf-8") print(f.tell()) print(f.read(10)) print(f.tell())输出:arduino复制代码0https://gu10 (2):seek()将文件指针移动至指定位置语法:bash复制代码file.seek(offset[, whence])其中,各个参数的含义如下:file:表示文件对象;whence:作为可选参数,用于指定文

一:文件路径

Python在不同系统中的文件路径编写的方法是不一样的。

1:linux 和 Mac

使用正斜杠 "/" 作为它们的路径分隔符。

2:windows

路径书写使用反斜杠 "" 作为文件夹之间的分隔符。

 

如果想要程序运行在所有操作系统上,在编写 Python 脚本时,就必须处理这两种情况。

那么,该如何处理下边的情况呢?

import os
myFiles = ['accounts.txt', 'details.csv', 'invite.docx']
for filename in myFiles:
print(os.path.join('C:\demo\exercise', filename))

输出:

C:\demo\exercise\accounts.txt
C:\demo\exercise\details.csv
C:\demo\exercise\invite.docx

二:绝对路径和相对路径

如下图所示:

image.png

Python为我们提供了处理路径的函数:

调用 os.path.abspath(path) 将返回 path 参数的绝对路径的字符串,这是将相对路径转换为绝对路径的简便方法。

调用 os.path.isabs(path),如果参数是一个绝对路径,就返回 True,如果参数是一个相对路径,就返回 False。

调用 os.path.relpath(path, start) 将返回从 start 路径到 path 的相对路径的字符串。如果没有提供 start,就使用当前工作目录作为开始路径。

调用 os.path.dirname(path) 将返回一个字符串,它包含 path 参数中最后一个斜杠之前的所有内容;调用 os.path.basename(path) 将返回一个字符串,它包含 path 参数中最后一个斜杠之后的所有内容。

测试一下:

lua

复制代码

cmd = os.getcwd()
print(cmd)
abspath = os.path.abspath('.')
print(abspath)
abspath1 = os.path.abspath('.\Scripts')
print(abspath1)
isabs = os.path.isabs('.')
print(isabs)
isabs1 = os.path.isabs(os.path.abspath('.'))
print(isabs1)
relpath = os.path.relpath('C:\Windows', 'C:\')
print(relpath)
relpath1 = os.path.relpath('C:\Windows', 'C:\spam\eggs')
print(relpath1)
path = 'C:\Windows\System32\calc.exe'
basename = os.path.basename(path)
print(basename)
dirname = os.path.dirname(path)
print(dirname)
# 路径是否存在
exists = os.path.exists('C:\Windows')
print(exists)
# 将 文件路径 拆分成元组
path1 = 'C:\Windows\System32\calc.exe'
tup = os.path.split(path1)
print(tup)

输出:

vbnet

复制代码

F:\camellia\python\testProject
F:\camellia\python\testProject
F:\camellia\python\testProject\Scripts
False
True
Windows
....\Windows
calc.exe
C:\Windows\System32
True
('C:\Windows\System32', 'calc.exe')

 

三:python文件基本操作

1:open 函数用于创建或打开指定文件

具体如下图所示:

image.png

以上几种模式具体的区别如下图所示:

image.png

测试一下:

perl

复制代码

# 以默认方式打开文件
f = open('log.txt')
# 输出文件是否已经关闭
print(f.closed)
# 输出访问模式
print(f.mode)
#输出编码格式
print(f.encoding)
# 输出文件名
print(f.name)

输出:

c

复制代码

False
r
cp936
log.txt
目录
相关文章
|
3月前
|
监控 Java 数据处理
文件操作不再难!Python系统编程实战,带你轻松驾驭文件系统与I/O
【7月更文挑战第31天】在 Python 系统编程中, 文件操作与 I/O 管理至关重要。
53 2
|
4月前
|
开发者 Python
Python基础第七篇(Python的文件操作)
Python基础第七篇(Python的文件操作)
|
27天前
|
存储 Python
Python文件操作
Python文件操作
|
28天前
|
存储 安全 Python
30天拿下Python之文件操作
30天拿下Python之文件操作
31 1
|
4月前
|
存储 安全 开发者
文件操作?Python让你轻松搞定!
【6月更文挑战第12天】Python编程中的文件操作至关重要,涉及数据存储和系统交互。通过内置的`open()`函数,开发者可轻松处理文件。以只读模式`'r'`为例,使用`with`语句打开并读取文件内容;写入文件则用`'w'`或`'a'`模式。文件对象还支持高级功能,如文件指针移动,允许随机访问。掌握这些技能能提升开发效率。
31 0
|
17天前
|
Java 程序员 Python
【Python】文件操作
【Python】文件操作
17 0
|
1月前
|
监控 安全 Java
文件操作不再难!Python系统编程实战,带你轻松驾驭文件系统与I/O
【9月更文挑战第13天】在Python系统编程中,文件操作与I/O管理至关重要。本文通过五个实战案例分享最佳实践:高效遍历文件系统、优雅处理文件读写、利用缓冲机制优化性能、并行处理文件加速任务以及异常处理确保程序稳健。使用pathlib、上下文管理器及concurrent.futures等工具,助你轻松掌握Python文件系统与I/O操作,提升编程效率和项目质量。 示例代码展示了如何使用pathlib遍历目录、with语句安全读写文件、控制缓冲区大小、并行处理多个文件以及捕获异常保证程序稳定运行。通过这些技巧,你将能够在实际项目中更加高效地管理和操作文件。
43 6
|
2月前
|
IDE 测试技术 开发工具
Python接口自动化测试框架(基础篇)-- 不只是txt的文件操作
本文介绍了Python中的文件操作方法,包括使用open()打开文件、close()关闭文件、read()读取内容、readline()读取单行、readlines()读取多行、write()写入内容以及writelines()写入多行的方法。同时,探讨了文件操作模式和编码问题,并扩展了上下文管理器with...as的使用,以及对图片和音频文件操作的思考和练习。
26 1
Python接口自动化测试框架(基础篇)-- 不只是txt的文件操作
|
2月前
|
安全 Python
python文件操作详解
整个文件操作过程中,我们应始终保持代码的健壮性和清晰性,确保在出现错误时资源能够被正确释放。
42 1
|
2月前
|
安全 Python
Python文件操作全面指南
【8月更文挑战第4天】Python是一种强大的编程语言,支持丰富的文件操作功能。本文全面介绍了Python文件操作,包括读取、写入、追加及关闭文件等基本操作,并演示了如何处理异常以增强程序的健壮性。此外,还深入探讨了使用`os`和`shutil`模块进行高级文件与目录管理的方法,以及如何运用上下文管理器自动管理文件资源,为读者提供了实用的代码示例和最佳实践。
56 5