7.Python 文件I/O
打印到屏幕
print ("Python 是一个非常棒的语言,不是吗?")
读取键盘输入
str = input("请输入:")
print("你输入的内容是:",str)
打开和关闭文件
file = open(file_name [, access_mode][, buffering])
模式 | 描述 |
---|---|
t | 文本模式 (默认)。 |
x | 写模式,新建一个文件,如果该文件已存在则会报错。 |
b | 二进制模式。 |
+ | 打开一个文件进行更新(可读可写)。 |
U | 通用换行模式(不推荐)。 |
r | 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 |
rb | 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。 |
r+ | 打开一个文件用于读写。文件指针将会放在文件的开头。 |
rb+ | 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。 |
w | 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。 |
wb | 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。 |
w+ | 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。 |
wb+ | 以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。 |
a | 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
ab | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
a+ | 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。 |
ab+ | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。 |
import osfo = open("f:/test.txt", "w")
print(fo.name)
fo.write("hello python")
fo.close()fo = open("f:/test.txt", "r+")
str = fo.read(10)
print('读取的字符串:', str)
fo.close()fo = open("f:/test.txt", "r+")
str = fo.read(10)
# 查找当前位置
position = fo.tell()
print('当前指针位置:',position)
# 把指针再次重新定位到文件开头
position = fo.seek(0, 0)
print('读取的字符串:', str)
fo.close()os.rename("f:/test.txt", "f:/test2.txt" )
os.remove("f:/test2.txt")
os.mkdir("f:/testPython")
os.rmdir('f:/testPython')
file 对象
序号 | 方法及描述 |
---|---|
1 |
file.close() 关闭文件。关闭后文件不能再进行读写操作。 |
2 |
file.flush() 刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件, 而不是被动的等待输出缓冲区写入。 |
3 |
file.fileno() 返回一个整型的文件描述符(file descriptor FD 整型), 可以用在如os模块的read方法等一些底层操作上。 |
4 |
file.isatty() 如果文件连接到一个终端设备返回 True,否则返回 False。 |
5 |
file.next() 返回文件下一行。 |
6 |
file.read([size]) 从文件读取指定的字节数,如果未给定或为负则读取所有。 |
7 |
file.readline([size]) 读取整行,包括 "\n" 字符。 |
8 |
file.readlines([sizeint]) 读取所有行并返回列表,若给定sizeint>0,则是设置一次读多少字节,这是为了减轻读取压力。 |
9 |
file.seek(offset[, whence]) 设置文件当前位置 |
10 |
file.tell() 返回文件当前位置。 |
11 |
file.truncate([size]) 截取文件,截取的字节通过size指定,默认为当前文件位置。 |
12 |
file.write(str) 将字符串写入文件,返回的是写入的字符长度。 |
13 |
file.writelines(sequence) 向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符。 |
Python OS 文件/目录方法
序号 | 方法及描述 |
---|---|
1 |
os.access(path, mode) 检验权限模式 |
2 |
os.chdir(path) 改变当前工作目录 |
3 |
os.chflags(path, flags) 设置路径的标记为数字标记。 |
4 |
os.chmod(path, mode) 更改权限 |
5 |
os.chown(path, uid, gid) 更改文件所有者 |
6 |
os.chroot(path) 改变当前进程的根目录 |
7 |
os.close(fd) 关闭文件描述符 fd |
8 |
os.closerange(fd_low, fd_high) 关闭所有文件描述符,从 fd_low (包含) 到 fd_high (不包含), 错误会忽略 |
9 |
os.dup(fd) 复制文件描述符 fd |
10 |
os.dup2(fd, fd2) 将一个文件描述符 fd 复制到另一个 fd2 |
11 |
os.fchdir(fd) 通过文件描述符改变当前工作目录 |
12 |
os.fchmod(fd, mode) 改变一个文件的访问权限,该文件由参数fd指定,参数mode是Unix下的文件访问权限。 |
13 |
os.fchown(fd, uid, gid) 修改一个文件的所有权,这个函数修改一个文件的用户ID和用户组ID,该文件由文件描述符fd指定。 |
14 |
os.fdatasync(fd) 强制将文件写入磁盘,该文件由文件描述符fd指定,但是不强制更新文件的状态信息。 |
15 |
os.fdopen(fd[, mode[, bufsize]]) 通过文件描述符 fd 创建一个文件对象,并返回这个文件对象 |
16 |
os.fpathconf(fd, name) 返回一个打开的文件的系统配置信息。name为检索的系统配置的值,它也许是一个定义系统值的字符串,这些名字在很多标准中指定(POSIX.1, Unix 95, Unix 98, 和其它)。 |
17 |
os.fstat(fd) 返回文件描述符fd的状态,像stat()。 |
18 |
os.fstatvfs(fd) 返回包含文件描述符fd的文件的文件系统的信息,像 statvfs() |
19 |
os.fsync(fd) 强制将文件描述符为fd的文件写入硬盘。 |
20 |
os.ftruncate(fd, length) 裁剪文件描述符fd对应的文件, 所以它最大不能超过文件大小。 |
21 |
os.getcwd() 返回当前工作目录 |
22 |
os.getcwdu() 返回一个当前工作目录的Unicode对象 |
23 |
os.isatty(fd) 如果文件描述符fd是打开的,同时与tty(-like)设备相连,则返回true, 否则False。 |
24 |
os.lchflags(path, flags) 设置路径的标记为数字标记,类似 chflags(),但是没有软链接 |
25 |
os.lchmod(path, mode) 修改连接文件权限 |
26 |
os.lchown(path, uid, gid) 更改文件所有者,类似 chown,但是不追踪链接。 |
27 |
os.link(src, dst) 创建硬链接,名为参数 dst,指向参数 src |
28 |
os.listdir(path) 返回path指定的文件夹包含的文件或文件夹的名字的列表。 |
29 |
os.lseek(fd, pos, how) 设置文件描述符 fd当前位置为pos, how方式修改: SEEK_SET 或者 0 设置从文件开始的计算的pos; SEEK_CUR或者 1 则从当前位置计算; os.SEEK_END或者2则从文件尾部开始. 在unix,Windows中有效 |
30 |
os.lstat(path) 像stat(),但是没有软链接 |
31 |
os.major(device) 从原始的设备号中提取设备major号码 (使用stat中的st_dev或者st_rdev field)。 |
32 |
os.makedev(major, minor) 以major和minor设备号组成一个原始设备号 |
33 |
os.makedirs(path[, mode]) 递归文件夹创建函数。像mkdir(), 但创建的所有intermediate-level文件夹需要包含子文件夹。 |
34 |
os.minor(device) 从原始的设备号中提取设备minor号码 (使用stat中的st_dev或者st_rdev field )。 |
35 |
os.mkdir(path[, mode]) 以数字mode的mode创建一个名为path的文件夹.默认的 mode 是 0777 (八进制)。 |
36 |
os.mkfifo(path[, mode]) 创建命名管道,mode 为数字,默认为 0666 (八进制) |
37 |
os.mknod(filename[, mode=0600, device]) |
38 |
os.open(file, flags[, mode]) 打开一个文件,并且设置需要的打开选项,mode参数是可选的 |
39 |
os.openpty() 打开一个新的伪终端对。返回 pty 和 tty的文件描述符。 |
40 |
os.pathconf(path, name) 返回相关文件的系统配置信息。 |
41 |
os.pipe() 创建一个管道. 返回一对文件描述符(r, w) 分别为读和写 |
42 |
os.popen(command[, mode[, bufsize]]) 从一个 command 打开一个管道 |
43 |
os.read(fd, n) 从文件描述符 fd 中读取最多 n 个字节,返回包含读取字节的字符串,文件描述符 fd对应文件已达到结尾, 返回一个空字符串。 |
44 |
os.readlink(path) 返回软链接所指向的文件 |
45 |
os.remove(path) 删除路径为path的文件。如果path 是一个文件夹,将抛出OSError; 查看下面的rmdir()删除一个 directory。 |
46 |
os.removedirs(path) 递归删除目录。 |
47 |
os.rename(src, dst) 重命名文件或目录,从 src 到 dst |
48 |
os.renames(old, new) 递归地对目录进行更名,也可以对文件进行更名。 |
49 |
os.rmdir(path) 删除path指定的空目录,如果目录非空,则抛出一个OSError异常。 |
50 |
os.stat(path) 获取path指定的路径的信息,功能等同于C API中的stat()系统调用。 |
51 |
os.stat_float_times([newvalue]) |
52 |
os.statvfs(path) 获取指定路径的文件系统统计信息 |
53 |
os.symlink(src, dst) 创建一个软链接 |
54 |
os.tcgetpgrp(fd) 返回与终端fd(一个由os.open()返回的打开的文件描述符)关联的进程组 |
55 |
os.tcsetpgrp(fd, pg) 设置与终端fd(一个由os.open()返回的打开的文件描述符)关联的进程组为pg。 |
56 |
os.tempnam([dir[, prefix]]) 返回唯一的路径名用于创建临时文件。 |
57 |
os.tmpfile() 返回一个打开的模式为(w+b)的文件对象 .这文件对象没有文件夹入口,没有文件描述符,将会自动删除。 |
58 |
os.tmpnam() 为创建一个临时文件返回一个唯一的路径 |
59 |
os.ttyname(fd) 返回一个字符串,它表示与文件描述符fd 关联的终端设备。如果fd 没有与终端设备关联,则引发一个异常。 |
60 |
os.unlink(path) 删除文件路径 |
61 |
os.utime(path, times) 返回指定的path文件的访问和修改的时间。 |
62 |
os.walk(top[, topdown=True[, οnerrοr=None[, followlinks=False]]]) 输出在文件夹中的文件名通过在树中游走,向上或者向下。 |
63 |
os.write(fd, str) 写入字符串到文件描述符 fd中. 返回实际写入的字符串长度 |
64 |
os.path 模块 获取文件的属性信息。 |
7.Python 文件I/O相关推荐
- 在pycharm中无法引入同一目录下的python文件
问题 同一目录下存在以下两个python文件: 1. app.py 2. forms.py 现在我希望在app.py中引入forms.py的某个函数,但是出现如下情况: 主要表现在: 函数标红 无法自 ...
- 关于python文件读写小结
读文件 打开一个文件用open()方法(open()返回一个文件对象,它是可迭代的): >>> f = open('test.txt', 'r') r表示是文本文件,rb是二进制文件 ...
- Python Qt GUI设计:将UI文件转换为Python文件的三种妙招(基础篇—2)
目录 1.创建项目 2.将.ui文件生成.py文件 2.1.Eric 6编译 2.2.Python命令行编译 2.3.脚本编译 3.界面.逻辑分离思想 在开始本文之前提醒各位朋友,Python记得安装 ...
- python 文件追加写入_Python写入文件–解释了打开,读取,追加和其他文件处理功能
python 文件追加写入 欢迎 (Welcome) Hi! If you want to learn how to work with files in Python, then this arti ...
- Python 文件 close() 方法
描述 Python 文件 close() 方法用于关闭一个已打开的文件.关闭后的文件不能再进行读写操作, 否则会触发 ValueError 错误. close() 方法允许调用多次. 当 file 对 ...
- python文件和目录
# -*- coding: utf-8 -*-import osdef printFile(rootDir):allFiles = os.listdir(rootDir) #列出文件夹下所有文件和目录 ...
- 深度学习运行python文件,出现跨路径搜索其他module,怎么解决?
在运行的目标python文件顶部,添加需要用的模块的搜索路径: 1)import sys, os sys.path.append(os.pardir) #添加的路径是,待运行目标python文件所在文 ...
- 第九课.Python文件操作
Python文件读写 最基本的,通过open返回文件句柄(文件对象),将文件读入内存: #f是一个文件对象 f=open('./sample.txt') data=f.read()#read读取所有内 ...
- sys.argv[n] (终端运行python文件第n个参数) 在 pycharm 中的应用
sys.argv[n] (终端运行python文件第n个参数) 在 pycharm 中的应用 打开pycharm --> Run --> Edit Configurations --> ...
- python文件信息排序_python文件排序的方法总结
在python环境中提供两种排序方案:用库函数sorted()对字符串排序,它的对象是字符:用函数sort()对数字排序,它的对象是数字,如果读取文件的话,需要进行处理(把文件后缀名'屏蔽'). (1 ...
最新文章
- flutter开发小程序_为什么我认为Flutter是移动应用程序开发的未来
- 系统架构设计_系统工程师--系统架构设计
- 几道题目理解JavaScript作用域、作用域链、预解析规则、表达式
- Java中的DeskTop类
- python学好了能干什么-Python语言能做什么,学好能干什么
- 数字发行:电子书、电影、游戏、音乐
- [置顶] 显示/隐藏登录密码
- javascript基础入门_javascript基础入门学习第一篇
- uni-app组件之间的传值
- PHP的上传文件思路及其代码
- Pytorch的BCEWithLogitsLoss函数中忽视标签怎么实现
- 解密微信介入智能硬件的逻辑
- win11开始菜单如何分组 Windows11开始菜单进行分组的设置方法
- 【网络攻防】常见的网络攻防技术——黑客攻防(通俗易懂版)
- sqlite3用法详解
- 如何测试服务器及端口是否畅通?
- IPU VPU GPU
- transferwise怎么提现_境外收款和汇款工具推荐:TransferWise 可提现美元到国内
- 网桥工作原理及题目分析
- WMS和WMTS的区别
热门文章
- 与基础事务管理器的通信失败 存货申请_图文并茂讲解分布式事务的实现原理...
- 导入项目时红色小时钟的处理办法
- 7自由度整车仿真模型建立
- PHP错题本功能实现,今天教你如何制作错题本!
- 学计算机颈椎痛,有效缓解颈椎疼痛的七个简单动作及附图 (电脑族必备)
- BIND的进阶二:视图,日志,转发,子域的授权
- 电工基础笔记01 - 认识简单电路和画图方法
- 安卓应用App发布至各大平台汇总
- 谷歌浏览器为什么推荐使用搜狗搜索?知乎网友的脑回路真是……
- c语言程序设计周信东实验三答案,c语言程序设计周信东实验三答案