草庐IT

filesystems

全部标签

python - Windows下调用shutil.copystat(file1, file2)后文件修改次数不相等

我使用Python2.7.5运行以下代码。在Windows下:importos,shutil,stat,timewithopen('test.txt','w')asf:pass#createanarbitraryfileshutil.copy('test.txt','test2.txt')#copyitshutil.copystat('test.txt','test2.txt')#copyitsstats,toot1=os.lstat('test.txt').st_mtime#getthetimeoflastmodificationforbothfilest2=os.lstat('te

python - 在 python 中列出目录时使用通配符

在Python中获取目录中的文件列表时,如何使用像“*”这样的通配符?例如,我想要这样的东西:os.listdir('foo/*bar*/*.txt')这将返回foo父目录中名称中包含bar的目录中所有以.txt结尾的文件的列表。我该怎么做?谢谢。 最佳答案 glob.glob为了胜利。 关于python-在python中列出目录时使用通配符,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/quest

python - 将文件夹中的文件列为流以立即开始处理

我得到一个包含100万个文件的文件夹。当列出此文件夹中的文件时,我想立即开始处理,使用Python或其他脚本语言。常用函数(python中的os.listdir...)正在阻塞,我的程序必须等待列表的末尾,这可能需要很长时间。列出大文件夹的最佳方式是什么? 最佳答案 如果方便的话,改变你的目录结构;但如果没有,你可以usectypestocallopendirandreaddir.这是该代码的副本;我所做的只是正确地缩进它,添加try/finallyblock,并修复一个错误。您可能必须调试它。特别是结构布局。请注意,此代码不可可移

python - 为什么 os.umask() 的参数是倒置的? (umask 0o000 使 chmod 0o777)

在大多数地方,权限被定义为格式为0777的八进制数。但是UNIX的umask命令(因此os.umask())需要0o000来生成0o777的权限位,并且0o022在我的理解中等于0o755。听说UNIX的umask不知为何倒置了,不明白是什么原因。有人可以解释这种不一致吗? 最佳答案 没有真正的不一致,因为umask和chmod之间的关系完全可以用方程式写下来。显然,umask与chmod设置相反,它在过去是这样创建的。示例:022(默认的常用umask)创建755。它是这样工作的:7-0=7成为第一个字节7-2=5成为第二个和第三

python - 在 Python 中获取目录基名的优雅方法?

我有几个脚本将目录名作为输入,我的程序会在这些目录中创建文件。有时我想获取给程序的目录的基本名称,并用它在目录中制作各种文件。例如,#directorynamegivenbyuserviacommand-lineoutput_dir="..."#obtainedbyOptParser,forexamplemy_filename=output_dir+'/'+os.path.basename(output_dir)+'.my_program_output'#writestufftomy_filename问题是,如果用户给出的目录名带有尾部斜杠,那么os.path.basename将返回空

python - 文件对象的绝对路径

这之前已经在StackOverflow上讨论过-我正在尝试找到一种找到文件对象绝对路径的好方法,但我需要它对os.chdir()具有鲁棒性,所以不能使用f=file('test')os.path.abspath(f.name)相反,我想知道以下是否是一个好的解决方案-基本上扩展文件类以便在打开时保存文件的绝对路径:classFile(file):def__init__(self,filename,*args,**kwargs):self.abspath=os.path.abspath(filename)file.__init__(self,filename,*args,**kwargs

python - 文件对象的绝对路径

这之前已经在StackOverflow上讨论过-我正在尝试找到一种找到文件对象绝对路径的好方法,但我需要它对os.chdir()具有鲁棒性,所以不能使用f=file('test')os.path.abspath(f.name)相反,我想知道以下是否是一个好的解决方案-基本上扩展文件类以便在打开时保存文件的绝对路径:classFile(file):def__init__(self,filename,*args,**kwargs):self.abspath=os.path.abspath(filename)file.__init__(self,filename,*args,**kwargs

python - 检查文件系统在 Python 中是否不区分大小写

如果文件系统不区分大小写,是否有一种简单的方法可以在Python中进行检查?我特别考虑像HFS+(OSX)和NTFS(Windows)这样的文件系统,您可以在其中访问与foo、Foo或FOO相同的文件,即使保留了文件大小写。 最佳答案 importosimporttempfile#Bydefaultmkstemp()createsafilewith#anamethatbeginswith'tmp'(lowercase)tmphandle,tmppath=tempfile.mkstemp()ifos.path.exists(tmppa

python - 检查文件系统在 Python 中是否不区分大小写

如果文件系统不区分大小写,是否有一种简单的方法可以在Python中进行检查?我特别考虑像HFS+(OSX)和NTFS(Windows)这样的文件系统,您可以在其中访问与foo、Foo或FOO相同的文件,即使保留了文件大小写。 最佳答案 importosimporttempfile#Bydefaultmkstemp()createsafilewith#anamethatbeginswith'tmp'(lowercase)tmphandle,tmppath=tempfile.mkstemp()ifos.path.exists(tmppa

python - 跨平台隐藏文件检测

跨平台处理隐藏文件的最佳方式是什么?(最好使用Python,但其他解决方案仍然值得赞赏)只需检查前导“.”适用于*nix/Mac,文件属性适用于Windows。然而,这似乎有点简单化,而且也没有说明隐藏内容的替代方法(.hidden文件等)。有没有标准的方法来处理这个问题? 最佳答案 这是一个在Python2.5+上运行的脚本,应该可以满足您的需求:importctypesimportosdefis_hidden(filepath):name=os.path.basename(os.path.abspath(filepath))re