首页 > Python资料 博客日记
Python3文件操作
2023-08-05 16:05:28Python资料围观226次
打印到屏幕
产生输出的最简单方法是使用print语句,可以通过用逗号分隔零个或多个表达式。这个函数传递表达式转换为一个字符串,如下结果写到标准输出 -
#!/usr/bin/python3 print ("Python is really a great language,", "isn't it?")
Python is really a great language, isn't it?
读取键盘输入
Python2中有两个内置的函数可从标准输入读取数据,它默认来自键盘。这些函数分别是:input() 和 raw_input()。
但在Python3中,raw_input()函数已被弃用。此外, input() 函数是从键盘作为字符串读取数据,不论是否使用引号(''或“”)与否。
input 函数
input([prompt]) 函数等同 raw_input,不同之处在于它假定输入是一个有效的Python表达式并计算结果返回给你。
#!/usr/bin/python3 >>> x=input("something:") something:10 >>> x '10' >>> x=input("something:") something:'10' #entered data treated as string with or without '' >>> x "'10'"
打开和关闭文件
到现在为止,已经学习了读取和写入标准输入和输出。现在,我们学习如何使用文件实际数据。
Python提供了基本的功能和必要的默认操作文件的方法。您可以使用一个 file 对象来做大部分的文件操作。
open 函数
在读取或写入一个文件之前,你必须使用 Python 内置open()函数来打开它。 该函数创建一个文件对象,这将被用来调用与它相关的其他支持方式。
语法
file object = open(file_name [, access_mode][, buffering])
-
file_name: 文件名(file_name )参数是包含您要访问的文件名的字符串值。
-
access_mode: access_mode指定该文件已被打开,即读,写,追加等方式。可能值的完整列表,在表中如下。
这是可选的参数,默认文件访问模式是读(r)。 -
buffering: 如果该缓冲值被设置为0,则表示不使用缓冲。如果该缓冲值是1,则在访问一个文件进行时行缓冲。
如果指定缓冲值大于1的整数,缓冲使用所指示的缓冲器大小进行。如果是负数,缓冲区大小是系统默认的(默认行为)。
模式 | 描述 |
---|---|
r | 打开一个文件为只读。文件指针被放置在文件的开头。这是默认模式。 |
rb | 打开一个文件只能以二进制格式读取。文件指针被放置在文件的开头。这是默认模式。 |
r+ | 打开用于读和写文件。文件指针置于该文件的开头。 |
rb+ | 打开用于读取和写入二进制格式的文件。文件指针置于该文件的开头。 |
w | 打开一个文件只写。如果文件存在覆盖该文件。如果该文件不存在,则创建写入新文件。 |
wb | 打开一个文件只能以二进制格式写入。如果文件存在覆盖该文件。如果该文件不存在,则创建写入新文件。 |
w+ | 打开文件为写入和读取模式。如果文件存在覆盖现有文件。如果该文件不存在,创建用于读写操作的新文件。 |
wb+ | 打开用于以二进制格式写入和读出文件。如果文件存在覆盖现有文件。如果该文件不存在,创建用于读写操作的新文件。 |
a | 打开用于追加的文件。文件指针是在文件是否存在该文件的末尾。也就是说,该文件是在追加模式。如果该文件不存在,它会创建一个用于写入的新文件。 |
ab | 打开文件用于二进制格式追加。文件指针是在文件是否存在该文件的末尾。也就是说,文件是在追加模式。 如果该文件不存在,它会创建一个用于写入的新文件。 |
a+ | 打开文件为追加和读取方式。文件指针是在文件是否存在该文件的末尾。该文件以追加模式打开。如果该文件不存在,它将创建用于读写操作的新文件。 |
ab+ | 打开一个文件以附加和二进制格式读取模式。如果该文件存在文件指针在该文件的末尾。该文件以追加模式打开。如果该文件不存在,它将创建读写操作的新文件。 |
file 对象属性
一旦文件被打开,则就会有一个文件对象,你就可以得到有关该文件的各种信息。
属性 | 描述 |
---|---|
file.closed |
如果文件被关闭返回true,否则为false
|
file.mode |
返回文件打开访问模式
|
file.name |
返回文件名
|
示例
#!/usr/bin/python3 # Open a file fo = open("foo.txt", "wb") print ("Name of the file: ", fo.name) print ("Closed or not : ", fo.closed) print ("Opening mode : ", fo.mode) fo.close()
Name of the file: foo.txt Closed or not : False Opening mode : wb
close()方法
文件对象的close()方法用于刷新任何未写入的信息,并关闭文件对象, 之后就没有更多的写入东西了。
Python自动关闭文件当参考文件对象分配给另一个文件。使用 close()方法关闭文件一个很好的做法。
语法
fileObject.close();
示例
#!/usr/bin/python3 # Open a file fo = open("foo.txt", "wb") print ("Name of the file: ", fo.name) # Close opened file fo.close()
Name of the file: foo.txt
读写文件
文件对象提供了一组访问方法。 我们将看到如何使用 read()和write()方法来读取和写入文件。
write() 方法
write()方法将字符串写入一个打开的文件。要注意,Python的字符串可以是二进制数据,而不仅仅只是文字。
语法
fileObject.write(string);
示例
#!/usr/bin/python3 # Open a file fo = open("foo.txt", "w") fo.write( "Python is a great language.\nYeah its great!!\n") # Close opend file fo.close()
上面的方法将创建 foo.txt 文件,并给出的内容写入文件,最后将关闭该文件。如果打开这个文件,会看到它有以下内容。
Python is a great language. Yeah its great!!
read() 方法
read()方法从一个打开的文件读取字符串。要注意,Python字符串可以是二进制数据。而并非只是文本数据。
语法
fileObject.read([count]);
这里,传递的参数是从打开的文件读取的字节数。该方法开始从文件的开始读取,并且如果 count 丢失,那么它会尝试尽可能读,也许直到文件的末尾。
示例
#!/usr/bin/python3 # Open a file fo = open("foo.txt", "r+") str = fo.read(10) print ("Read String is : ", str) # Close opened file fo.close()
Read String is : Python is
文件位置
tell() 方法告诉你该文件中的当前位置;换句话说,下一个读或写将发生在从该文件的开头之后多个字节。
seek(offset[, from]) 方法改变当前文件的位置。 offset 参数指示要移动字节数。from 参数指定字节从哪移动的参考位置。
如果 from 被设置为0,这意味着使用该文件的开头作为基准位置,以及如果设置为1,则使用当前位置作为基准位置,如果它被设置为2,则该文件的结束将被作为基准位置。
示例
#!/usr/bin/python3 # Open a file fo = open("foo.txt", "r+") str = fo.read(10) print ("Read String is : ", str) # Check current position position = fo.tell() print ("Current file position : ", position) # Reposition pointer at the beginning once again position = fo.seek(0, 0) str = fo.read(10) print ("Again read String is : ", str) # Close opened file fo.close()
Read String is : Python is Current file position : 10 Again read String is : Python is
重命名和删除文件
rename() 方法
语法
os.rename(current_file_name, new_file_name)
示例
#!/usr/bin/python3 import os # Rename a file from test1.txt to test2.txt os.rename( "test1.txt", "test2.txt" )
remove() 方法
语法
os.remove(file_name)
示例
#!/usr/bin/python3 import os # Delete file test2.txt os.remove("text2.txt")
Python目录
所有的文件都包含不同的目录中,Python处理这些目录操作也没有什么问题。os模块中有用于创建,删除和更改目录的几种方法。
mkdir() 方法
可以使用os模块中的 mkdir()方法在当前目录下创建目录。需要提供一个参数到这个方法指定要创建的目录名。
语法
os.mkdir("newdir")
示例
#!/usr/bin/python3 import os # Create a directory "test" os.mkdir("test")
chdir() 方法
可以使用 chdir() 方法来改变当前目录。chdir() 方法接受一个参数,就是你想在当前目录创建的目录的目录名称。
语法
os.chdir("newdir")
示例
#!/usr/bin/python3 import os # Changing a directory to "/home/newdir" os.chdir("/home/newdir")
getcwd()方法
语法
os.getcwd()
示例
#!/usr/bin/python3 import os # This would give location of the current directory os.getcwd()
rmdir() 方法
方法:
os.rmdir('dirname')
示例
以下是删除 "/tmp/test" 目录的例子。它需要给定目录的完全合格的名称,否则会从当前目录搜索目录。
#!/usr/bin/python3 import os # This would remove "/tmp/test" directory. os.rmdir( "/tmp/test" )
相关文件和目录的方法
有三个重要来源,它提供了多种实用的方法来处理 和操作在Windows和Unix操作系统的文件和目录。它们如下 -
标签:
相关文章
最新发布
- 【Python】selenium安装+Microsoft Edge驱动器下载配置流程
- Python 中自动打开网页并点击[自动化脚本],Selenium
- Anaconda基础使用
- 【Python】成功解决 TypeError: ‘<‘ not supported between instances of ‘str’ and ‘int’
- manim边学边做--三维的点和线
- CPython是最常用的Python解释器之一,也是Python官方实现。它是用C语言编写的,旨在提供一个高效且易于使用的Python解释器。
- Anaconda安装配置Jupyter(2024最新版)
- Python中读取Excel最快的几种方法!
- Python某城市美食商家爬虫数据可视化分析和推荐查询系统毕业设计论文开题报告
- 如何使用 Python 批量检测和转换 JSONL 文件编码为 UTF-8
点击排行
- 版本匹配指南:Numpy版本和Python版本的对应关系
- 版本匹配指南:PyTorch版本、torchvision 版本和Python版本的对应关系
- Python 可视化 web 神器:streamlit、Gradio、dash、nicegui;低代码 Python Web 框架:PyWebIO
- 相关性分析——Pearson相关系数+热力图(附data和Python完整代码)
- Python与PyTorch的版本对应
- Anaconda版本和Python版本对应关系(持续更新...)
- Python pyinstaller打包exe最完整教程
- Could not build wheels for llama-cpp-python, which is required to install pyproject.toml-based proj