有坑的地方: 如果代码写成这样: [( os.path.abspath(x)) for x in os.listdir(startPath) ] 此代码只能用于当前目录下,listdir列出的都只是文件名,然后abspath(x)对着一个文件名找绝对路径,肯定不行,电脑里同名的文件那么多,你要找哪个? 同样,isfile()也不同用于一个文件名,所以这些函数都只是对当前目录下的操作 import os,sys #编写一个程序,能在某目录以及其所有子目录下查找文件名包含指定字符串的文件,并打印出相
查看当前目录下所有py文件(本身除外run) import os file_list = os.listdir(os.getcwd()) # 获取当前目录下所有的文件名print(file_list)for filename in file_list: if os.path.isfile(filename) and filename.endswith('.py') and filename.find("run") == -1: print(filename,'\n') os.syst
今天想打包一些文件,但是不想把该目录打包进去 比如我想把test目录下文件打个包,安装正常的命令来 tar zcf test.tar.gz test 这样肯定会把test目录也打进去,解压后肯定是test目录,然后是目录下的其他文件,但是我不想这样,我想直接解压后就是目录下的文件,而不想要test目录 于是乎有了以下解决方法 第一 进入到test目录下面打包 cd test tar zcf test.tar.gz * 第二 tar zcf test.tar.gz -C test/ . 注意最后面
''' 将当前目录的所有扩展名为html的文件重命名为扩展名为htm的文件 方法一 ''' import os file_list=os.listdir('.') for filename in file_list: pos=filename.rindex(".") if filename[pos+1:] =="html": newname=filename[:pos+1]+"htm" os.rename(filename,newname) pr