(一)python文件操作
(1)读取键盘输入
python中提供了input()内置函数,可以用于读取一行文本(字符串)。默认的标准输入是键盘。input可以接受一个python表达式作为输入。并运算返回结果。
str = input("please input a string: ")
print(str)
num1 = input()
num2 = input()
print(int(num1)+ int(num2))
(2)读文件和写文件
python中提供了open()函数,通过该函数,将会返回一个file对象。
open(filename,mode)
- filename:需要访问的文件名或路径
- mode:打开文件的模式:只读,只写,读写,追加等,默认的mode = "r"(即:只读)
r:表示文件只能读取
w:以写方式打开,
a:以追加模式打开
r+:以读写模式打开
w+:以读写模式打开
a+:以读写模式打开
rb:以二进制读模式打开
wb:以二进制写模式打开
ab:以二进制追加模式打开
rb+:以二进制读写模式打开
wb+:以二进制读写模式打开
ab+:以二进制读写模式打开
read(size):读取文件,通过size参数可以指定读取内容的大小,作为字节或者字符对象返回
write():写入文件,
readline(size):从文件中读取一行,如果设置了size。就是读取一行中的size个字符
readlines(size):从文件中读取所有行,返回一个list。如果设置了size。
import os
# 相对路径
dir_path = "./file"
# 创建一个文件夹,用于存放文件
if os.path.exists(dir_path):
# 该文件夹存在
pass
else:
# 该文件夹不存在,创建一个
if os.mkdir(dir_path):
print("文件创建成功!")
path = "./file/test.txt"
# 以写模式打开文件,如果没有该文件,会自动创建一个。如果文件存在,会直接覆盖
fd = open(path,"w")
# 写入文件,
fd.write("Python is the best language in the world!")
# 关闭文件
fd.close()
# 如果我们想要在末尾追加,只需要改变mode
# 以追加模式打开文件,直接接着文件的最后写入
fd = open(path,"a")
# 写入文件,
fd.write("\nPython is the best language in the world!")
fd.writelines("I am a handsome boy!")
# 关闭文件
fd.close()
# 读取文件
print("-------------------------------------------")
fd = open(path,"r")
print(fd.read())
fd.close()
print("-------------------------------------------")
fd = open(path,"r")
print(fd.readline())
fd.close()
print("-------------------------------------------")
fd = open(path,"r")
print(fd.readlines())
fd.close()
print("-------------------------------------------")
# 不推荐使用
fd = open(path,"r")
for l in fd:
print(l,end='')
fd.close()
(3)文件路径和文件夹的相关操作
关于路径的一些操作:
- os.path.abspath(文件路径) # 输出绝对路径
- os.getcwd() #得到当前工作目录
- os.path.getsize(文件名) #查看指定文件的大小
- os.listdir() #返回指定目录下的所有文件和目录名
- os.path.split(文件路径) # 将文件名和文件路径分开
import os
# 打印当前源代码所在文件目录的绝对位置
print(os.getcwd())
print("--------------------------------------------------------------------")
# 打印当前源代码所在文件目录或文件的绝对位置,必须传入一个参数。
path = os.path.abspath("./file/test.txt")
print(path)
print("--------------------------------------------------------------------")
# 将文件名和文件路径分开
file_dir, file_name = os.path.split(path)
print(f"File name = {file_name},\nFile exists in {file_dir} directory")
print("--------------------------------------------------------------------")
# 获取文件所占的内存大小,单位字节
print(str(os.path.getsize(path))+" Bytes")
print("--------------------------------------------------------------------------------------")
# 获取指定目录下的文件和文件夹名,默认是当前目录
print(os.listdir())
print()
print(os.listdir("./file/"))
(4)文件的复制和移动
如果需要复制和移动文件,就可以使用shutil模块中的方法。
- shutil.move(源地址,目的地址) # 移动文件
- shutil.copyfiles(源地址,目的地址) # 文件移动