『R语言&Python』基础文件操作

目标:利用R/Python实现文件的创建、删除、检测(是否存在)


相关知识:绝对路径、相对路径和动态路径

  • 绝对路径:直接从盘符开始的描述文件(夹)所在的完整路径。△:可能泄露个人信息
# 例如通过下面这个路径别人就能知道我有彩虹六号这个游戏,并且存放路径一目了然
path = 'C:\Users\acer\Documents\My Games\Rainbow Six - Siege'

  • 相对路径:通常使用".“或者”…"开头,从当前目录或者父目录开始的路径。 △:相对安全
#' R
> getwd()  #获取当前工作路径
[1] "C:/Users/acer/Documents"
> setwd('..')  #将父目录设为工作路径
> getwd()
[1] "C:/Users/acer"  

> setwd('.')    #将当前目录设为工作路径
> getwd()
[1] "C:/Users/acer"

  • 动态路径:对文件进行批量操作时用到
#' R
#例如在F盘中创建批量文件
> namelist = list('Jack.jpg', 'Villian.txt', 'Chen.xls')  
> path = 'F:/'
> for (i in namelist) {
    
    
+   file.create(paste(path, i, sep = ''))  #paste()连接path与文件名i,然后file.create()创建
+ }

在这里插入图片描述



R R R

R R R 语言中,无须加载额外的 p a c k a g e package package,使用内置函数就能完成基础的文件操作

函数 功能
getwd() 获取当前工作路径
setwd( path ) 设置工作路径为path
dir() 查看当前目录下的所有文件夹与文件
file.exists( filename ) 判断文件是否存在
dir.exists( foldername ) 判断文件夹是否存在
file.create( filename ) 创建文件名为filename的文件
dir.create( dirname ) 创建文件夹名为dirname的文件夹
file.copy( './a.txt', 'F:/' ) 把当前目录下的a.txt文件复制到F盘下
file.remove( filename ) 删除文件
paste( a, b, sep = x) 以x为分隔符连接a和b,常在连接路径时使用
basename( 'F:/Jhon/a.txt' ) 获取文件名,输出为’a.txt’
dirname( 'F:/Jhon/a.txt' ) 获取文件所在目录名,输出为‘F:/Jhon’


P y t h o n Python Python

需要加载 os 库来完成基础的文件操作

import os
''' 
	△:注意不要使用 from os import *
	因为os库中存在open()函数,
	会与python内置的open()函数产生冲突,
	不利于后面文件的创建
'''
import shutil  #复制文件时使用该库
函数 功能
os.getcwd() 获取当前工作路径
os.chdir( path ) 设置工作路径为path
os.listdir() 查看当前目录下的所有文件夹与文件
os.path.exists( filename ) 判断文件文件夹是否存在
open( filename, 'w' ) 打开文件名为filename的文件 ,文件不存在时自动创建
os.mkdir( dirname ) 创建文件夹名为dirname的文件夹
shutil.copy( './a.txt', 'F:/' ) 把当前目录下的a.txt文件复制到F盘下
os.remove( filename ) 删除文件
path.join( 'F:/', 'Jhon', sep = x) 路径连接函数,输出为’F:/Jhon’
os.path.basename( 'F:/Jhon/a.txt' ) 获取文件名,输出为’a.txt’
os.path.dirname( 'F:/Jhon/a.txt' ) 获取文件所在目录名,输出为‘F:/Jhon’

'''
感谢:Vance、Ivan
'''

Guess you like

Origin blog.csdn.net/m0_47149835/article/details/117636148