R、python的文件夹 *** 作

R、python的文件夹 *** 作,第1张

Python OS模块

1重命名:osrename(old, new)

2删除:osremove(file)

3列出目录下的 文件 :oslistdir(path)

4获取当前工作目录:osgetcwd()

5改变工作目录:oschdir(newdir)

6创建多级目录:osmakedirs(r"c:/python /test")

7创建单个目录:osmkdir("test")

8删除多个目录:osremovedirs(r"c:/python") #删除所给路径最后一个目录下所有空目录。

9删除单个目录:osrmdir("test")

10获取文件属性:osstat(file)

11修改文件权限与时间戳:oschmod(file)

12执行 *** 作系统 命令:ossystem("dir")

13启动新进程:osexec(), osexecvp()

14在后台执行程序:osspawnv()

15终止当前进程:osexit(), os_exit()

16分离文件名:ospathsplit(r"c:/python/ hellopy ") –> ("c://python", " hellopy ")

17分离扩展名:ospathsplitext(r"c:/python/ hellopy ") –> ("c://python//hello", "py")

18获取路径名:ospathdirname(r"c:/python/ hellopy ") –> "c://python"

19获取文件名:ospathbasename(r"r:/python/hellopy") –> "hellopy"

20判断文件是否存在:ospathexists(r"c:/python/hellopy") –> True

21判断是否是绝对路径:ospathisabs(r"/python/") –> False

22判断是否是目录:ospathisdir(r"c:/python") –> True

23判断是否是文件:ospathisfile(r"c:/python/hellopy") –> True

24判断是否是链接文件:ospathislink(r"c:/python/hellopy") –> False

25获取文件大小:ospathgetsize(filename)

26:osismount("c://") –> True

27搜索目录下的所有文件:ospathwalk()

[2shutil]

1复制单个文件:shultilcopy(oldfile, newfle)

2复制整个目录树:shultilcopytree(r"/setup", r"/backup")

3删除整个目录树:shultilrmtree(r"/backup")

[3tempfile]

1创建一个唯一的临时文件:tempfilemktemp() –> filename

2打开临时文件:tempfileTemporaryFile()

[4StringIO] #cStringIO是StringIO模块的快速实现模块

1创建内存 文件并写入初始数据 :f = StringIOStringIO("Hello world!")

2读入内存文件数据:print fread() #或print fgetvalue() –> Hello world!

3想内存文件写入数据:fwrite("Good day!")

4关闭内存文件:fclose()

rm(list=ls())

path = 'J:/lab/EX29 --在R语言中进行文件(夹) *** 作'

setwd(path)

cat("file A\n", file="A") #创建一个文件A,文件内容是'file A','\n'表示换行,这是一个很好的习惯

cat("file B\n", file="B") #创建一个文件B

fileappend("A", "B") #将文件B的内容附到A内容的后面,注意没有空行

filecreate("A") #创建一个文件A, 注意会覆盖原来的文件

fileappend("A", rep("B", 10)) #将文件B的内容复制10便,并先后附到文件A内容后

fileshow("A") #新开工作窗口显示文件A的内容

filecopy("A", "C") #复制文件A保存为C文件,同一个文件夹

dircreate("tmp") #创建名为tmp的文件夹

filecopy(c("A", "B"), "tmp") #将文件夹拷贝到tmp文件夹中

listfiles("tmp") #查看文件夹tmp中的文件名

unlink("tmp", recursive=F) #如果文件夹tmp为空,删除文件夹tmp

unlink("tmp", recursive=TRUE) #删除文件夹tmp,如果其中有文件一并删除

fileremove("A", "B", "C") #移除三个文件

哦。这是个问题哟。好象是我也遇到过。似乎是一个开关。要允许打开空文件?还是什么的。或者是你回到上一级目录,点击目录,然后点打开。

打开lib-tk目录下的FileDialogpy,我给你找一找。

代码显示,这个对话框是可以同时支持dir和file的。

这里有一个代码。

class LoadFileDialog(FileDialog):

"""File selection dialog which checks that the file exists"""

title = "Load File Selection Dialog"

def ok_command(self):

file = selfget_selection()

if not ospathisfile(file):

selfmasterbell()

else:

selfquit(file)

由此可见,你重载一下ok_commend就可以改变它的行为。比如

class MyLoadFileDialog(FileDialog):

"""File selection dialog which checks that the file exists"""

title = "Load File Selection Dialog"

def ok_command(self):

file = selfget_selection()

if not ospathisfile(file):

#selfmasterbell()

selfquit(file) #加这一句

else:

selfquit(file)

这样应该没有问题了。

先将终端所在路径切换到python脚本文件的目录下然后给脚本文件运行权限,一般755就OK,如果完全是自己的私人电脑,也不做服务器什么的,给777的权限问题也不大(具体权限含义参考chmod指令的介绍,就不赘述了):chmod 755 /py然后执行。如果在脚本内容的开头已经给出了类似于如下的注释:#!/usr/bin/env python那就可以直接在终端里运行:/py如果没有这个注释就在终端中执行:python /py如果是有图形界面的脚本在前面的chmod之后,直接双击(KDE桌面是单击)文件来执行即可

路径有两种,相对路径和绝对路径。 对于Unix-Like系统来说,绝对路径就是以/开头的路径。 相对路径就是不以/开头的路径。

其实, *** 作系统中实际只有一种路径,那就是绝对路径。 相对路径,只是程序自己帮我们修改为绝对路径了。

*** 作系统的程序运行器利用环境变量,为我们把相对路径生成为绝对路径。getcwd()函数用于得到当前进程的当前工作路径。也就是相对路径的起始点。

在python中,可以使用oschdir函数切换当前工作路径。

当前工作路径,是程序执行时所在的路径。 我们在哪个目录下执行程序,当前路径就是哪一个目录。

我们常常需要在python中执行一些源码目录下的文件。如,我们可能需要用eval动态执行一个python源文件。或者copy一些配置文件到目标系统的路径下。此时,我们无法知道这些文件的绝对路径,因为我们不能预知用户会把我们的程序安装到哪一个目录下。

我们也不能依赖于当前工作路径。因为用户很可能不在我们的源码目录下执行我们的程序。

那么,此时我们如何得到源码目录下文件的绝对路径呢?

我是这样做的:

ABSPATH=None

if __name__ == '__main__':

ABSPATH=ospathabspath(sysargv[0])

ABSPATH=ospathdirname(ABSPATH)+"/"

print ABSPATH

通过拿到第一个参数的绝对路径,我们就知道了程序所在的绝对路径,我们就能够使用ABSPATH这个全局变量组装出 我们源码目录下的任意一个文件的绝对路径了!

以上就是关于R、python的文件夹 *** 作全部的内容,包括:R、python的文件夹 *** 作、怎么用python获取一个文件夹的路径,要对话框模式、用python的什么命令可以获得当前文件所在的路径等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9502921.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存