Python1 文件读写操作

发布于:2024-06-19 ⋅ 阅读:(105) ⋅ 点赞:(0)

1.python中打开文件的四种方式

①在打开的文件路径前加(r)

确保文件路径中的反斜线作为普通字符处理,避免由于转义字符导致的错误。

file=open(r'F:\桌面\python100\output.txt',encoding='utf-8')

② 使用双反斜杠(\)

由于反斜杠(\)在字符串中被视为转义字符的开始,因此需要使用两个反斜杠来表示一个实际的反斜杠字符。

file=open('F:\\桌面\python100\\output.txt',encoding='utf-8')
print(file.read())

③使用正斜杠(/)

Windows 系统默认使用反斜杠(\)作为路径分隔符,在其他操作系统如 UNIX、Linux 和 macOS中,正斜杠都是标准的路径分隔符。因此python中使用正斜杠作为路径分隔符有跨平台兼容、避免转义等优点。

file=open('F:/桌面/python100/output.txt',encoding='utf-8')

④使用相对路径

当说要打开的文件与运行程序的代码位于同一文件目录下时,可以使用相对路径打开。

file=open('output.txt',encoding='utf-8')  # 和程序在一个同一路径下才能打开
print(file.read())

2.python中的三种文件读写方式

详细教程参见:http://www.yiibai.com/python3/python_files_io.html

读文件有3种方法:

read()将文本文件所有行全部读取到一个字符串中;

readline() 是一行一行的读,读到一行的内容就返回一个字符串。这意味着连续调用 readline() 将会依次读取文件中的每一行;

readlines()是将文本文件中所有行读到一个list中,文本文件每一行是list中的一个元素。其优点是readline()可以在读行过程中跳过特定行。

读写方法1

# 第一种方法:
# 把文件对象赋值给python变量file_1,以便后续的读取操作
# 打开名为'input.txt'的文件,使用UTF-8编码读取文件内容
file_1=open('input.txt',encoding='utf-8')  # 输入文件在同级目录下,因此只写文件名即可

# 以写入模式打开名为'output.txt'的文件,使用UTF-8编码写入内容
# 文件对象赋值给变量file_2,以便后续的写入操作
file_2=open('output.txt','w', encoding='utf-8')  #‘w’表示以写入模式打开输出文件
while True:                 #进入一个无限循环
    line=file_1.readline()  # 读取file_1文件对象的一行内容,并将其赋值给变量line
    print(line.strip())     # 打印line的内容到控制台,使用strip()方法去除字符串两端的空白字符,包括换行符
    file_2.write(line)      # 将line的内容写入到file_2文件对象,即将每行内容写入'output.txt'文件
    if not line:            # 检查line是否为空,如果是空(表示文件已经读取到结尾),则退出循环
        break               # 跳出循环
file_2.close()              # 关闭写入文件,确保所有写入的内容都被刷新到文件‘output.txt’

读写方法2

# 第二种方法,使用for循环
file_2=open('output.txt','w')    # 打开文件 'output.txt' 以供写入, ('w' 表示写入模式)
for line in open('output.txt'):  # 使用 open('output.txt') 打开文件 'output.txt' 以供读取(默认为读取模式 'r')
    print(line.strip())          # 使用 for 循环遍历文件的每一行,将每一行的内容赋给变量 line
    file_2.write(line)           # 将当前行的内容写入文件 'output.txt'
file_2.close()                   # 关闭写入文件

读写方法3

#对数据进行读写
# 使用文件上下文管理器读取文件内容。在Python中,文件上下文管理器是通过使用 with 语句和 open 函数结合来实现的一种机制,用于对文件的操作。
# 这种方式确保在文件使用完毕后正确地关闭文件,即使发生异常也能够执行关闭操作。
with open('input.txt', 'r',encoding='utf-8') as f: 
    data = f.read()  # 使用with语句打开文件'input.txt'以供读取。读取文件所有内容,并将其存储为一个字符串赋值给变量data。如果文件很大,这可能消耗大量内存。
print(data)
# 遍历文件的每一行,并对其进行处理
with open('input.txt', 'r') as f: 
    for line in f:   # 循环迭代文件的每一行,允许你对每一行进行处理
        # process line (这部分写如何处理每一行数据的代码实现) 
# 写入文本数据块
with open('input.txt', 'w',encoding='utf-8') as f: 
    # 使用with语句打开文件'input.txt'以供写入,f.write(text1)和f.write(text2)将文本块写入文件
    text1 = "Hello, this is text1."
    text2 = "This is text2, another line of text."
    f.write(text1)
    f.write(text2)
    # 继续写入其他文本块 
    ... 

读写方法4

# 重定向打印语句到文件的方法非常适用于生成报告、日志或任何需要保存输出结果的场景。 
# print(line1, file=f)和print(line2, file=f)将line1和line2写入文件'f'中
# 这样可以将print语句的输出重定向到文件
# 需要注意的是这里的line1和line2变量需要在代码中进行定义
with open('input.txt', 'w',encoding='utf-8') as f:
    # 需要写入的文本行
    line1 = "Hello, this is line 1."
    line2 = "This is line 2 with some data."
    print(line1, file=f)
    print(line2, file=f)   # 使用print()函数的file参数,可以将指定的文本字符串输出到打开的文件f中,而不是默认的标准输出(通常是控制台)

最后,展示一个关于使用readlines()读取文件的数据之后得到的列表并对其进行处理的示例。

data=['目前已成为UIT存储的金牌认证经销商、HUAWEI-3COM服务认证经销商、CISCO 精睿产品银牌经销商、CISCO商业市场服务合作伙伴。', '壹软网络科技有限公司', 'HUAWEI-3COM服务', '经销商']
print(data[2])
if data[2] in data:
    print("存在")

以上内容总结自网络课程,整理不易,如有帮助欢迎转发,我们下次再见!


网站公告

今日签到

点亮在社区的每一天
去签到