Python基础——PyCharm版本——第八章、文件I/O(核心1)

举报
红目香薰 发表于 2022/03/31 23:52:09 2022/03/31
【摘要】 ​ ​🤵🤗Python_Base:Chapter ninth🤗🤵1、OSPython程序使用自带的os模块操作目录,os模块包含的函数见下表。方法描述os.getcwd()获取当前工作目录,即当前Python脚本工作的目录路径os.listdir()返回指定目录下的所有文件和目录名os.remove()用来删除一个文件os.removedirs(r"c:\python")删除多个目录...

 

🤵🤗Python_Base:Chapter ninth🤗🤵

1、OS

Python程序使用自带的os模块操作目录,os模块包含的函数见下表。

方法

描述

os.getcwd()

获取当前工作目录,即当前Python脚本工作的目录路径

os.listdir()

返回指定目录下的所有文件和目录名

os.remove()

用来删除一个文件

os.removedirs(r"c:\python")

删除多个目录

os.path.isfile()

判断给出的路径是否是一个文件

os.path.isdir()

检验给出的路径是否是一个目录

os.path.dirname()

获取路径名

os.path.basename()

获取文件名

os.path.split()

返回一个路径的目录名和文件名

os.path.splitext()

分离扩展名

os.path.basename()

获取文件名

os.rename(oldFileName,newFileName)

重命名

os.makedirs(r"c:\python\test")

创建多级目录

os.mkdir("test")

创建单个目录

os.chmod(file)

修改文件权限与时间戳

os.exit()

终止当前进程

os.path.getsize(filename)

获取文件大小

其中【os.chmod(file)】权限参照表:

Python基础——PyCharm版本——第八章、文件I/O(核心1)附件——Python os.chmod() 权限参照表_红目香薰的博客-CSDN博客

我写了个绝对路径的测试:

print(os.getcwd())
print(os.listdir())
print(os.path.isfile("D:\\save\\myclass\\Python\\core\\python"))
print(os.path.isdir("D:\\save\\myclass\\Python\\core\\python"))
print(os.path.dirname("D:\\save\\myclass\\Python\\core\\python"))
print(os.path.split("D:\\save\\myclass\\Python\\core\\python"))
print(os.path.splitext("D:\\save\\myclass\\Python\\core\\python\\demo.py"))
print(os.path.basename("D:\\save\\myclass\\Python\\core\\python\\demo.py"))
print(os.path.getsize("D:\\save\\myclass\\Python\\core\\python\\demo.py"))
print(os.rename("./demo1.py", "./demo5.py"))

遍历文件夹 

import os
def dfs(dir):
    """遍历某文件夹"""
    list = os.listdir(dir)
    for str in list:
        path = dir + str
        print(path)
        if os.path.isdir(path):
            print("文件夹:", str)
            dfs(path)
        else:
            print("文件:", str)
dfs("D:/save/myclass/")

2、文件读取

语法:

文件对象名 = open(file_name [, access_mode][, buffering])

参数说明:

file_name:该参数指要访问的文件名称对应的字符串
access_mode:决定了打开文件的模式,包括只读、写入和追加等
buffering:buffering的值被设为0,则不会寄存;buffering的值取1,访问文件时会寄存行。

模式列表: 

模式

描述

r

以只读方式打开文件。文件的指针将会放在文件的开头,这是默认模式

rb

以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头,这是默认模式

r+

打开一个文件用于读写。文件指针将会放在文件的开头

rb+

以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头

w

打开一个文件只用于写入。如该文件已存在,则将其覆盖。如该文件不存在,创建新文件

w+

打开一个文件用于读写。如该文件已存在,则将其覆盖。如该文件不存在,创建新文件

a

打开一个文件用于追加。如该文件已存在,文件指针将会放在文件的结尾,即新的内容将会被写入到

已有内容之后。如该文件不存在,创建新文件进行写入

a+

打开一个文件用于读写。如该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。

如该文件不存在,创建新文件用于读写

ab+

以二进制格式打开一个文件用于追加。如该文件已存在,文件指针将会放在文件的结尾。

如该文件不存在,创建新文件用于读写

文件对象操作列表 

file.closed

如果文件已被关闭,返回True,否则返回False

file.mode

返回被打开文件的访问模式

file.name

返回文件的名称

file.softspace

如果用print输出后,必须接一个空格符,即返回false,否则返回true

读取示例:

import os

path = os.getcwd() +"\\"+ "test.txt"
file = open(path, "r+",encoding="utf-8")
print(file.read())
file.close()

写入示例:

import os

path = os.getcwd() +"\\"+ "test.txt"
file = open(path, "w+",encoding="utf-8")
file.write("有情人终成眷属。")
file.close()

 会直接替换

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。