linux判断文件夹是否存在
很多同学在进行编程学习时缺乏系统学习的资料。本页面基于linux判断文件夹是否存在内容,从基础理论到综合实战,通过实用的知识类文章,标准的编程教程,丰富的视频课程,为您在linux判断文件夹是否存在相关知识领域提供全面立体的资料补充。同时还包含 labelfor、label标签、lambda 的知识内容,欢迎查阅!
linux判断文件夹是否存在相关知识
-
SQL判断文件是否存在SQL Server使用xp_fileexist扩展存储过程,可在判断文件是否在。在创建自定义函数时,因无法使用临时表,所以下例使用了一个表变量。代码 DECLARE @OutInfo TABLE ( [FILE_EXISTS] INT NOT NULL, [FILE_IS_DIRECTORY] INT NOT NULL, [PARENT_DIRECTORY_EXISTS] INT NOT NULL ) INSERT INTO @OutInfo EXECUTE [master].[dbo].xp_fileexist 'E:\New Text Document.txt&
-
判断URL是否存在判断网址是否存在,可以使用下面方面处理。如果HttpStatusCode为OK,说明网址存在。
-
jQuery 判断用户是否存在不要忘记导入 jquery.js 我的程序是 SSH2 架构 返回json的一些jar包,要保证有。 //判断用户是否存在-jspfunction userExist(){ var loginName = $("#loginName").val(); $.ajax({ url: '/findObjectByLoginName.do', type: 'POST', dataType:'json', data: {'loginName': loginName}, timeout: 5000, error: function(data){ alert('请求服务器时间过长......'); }, success: function(data){ alert(data.exeInfo); } });} //判断用户是否存在-actionpublic Str
-
Python3如何检查文件或文件夹是否存在?如何检查一个文件或者文件夹存在?有几种方法,Python2和Python3版本也有不同,这是在文件操作中常用到的方法,只有文件存在我们才可以继续对文件进行处理,下面总结了常用的检查文件是否存在的方法。本代码在Python3.4+下通过, 其他版本略有差异使用os库不需要打开文件,直接使用os库方法检查import os.path filename='/pythontab.com/file.txt' os.path.isfile(filename)检查文件是否存在,成功返回Ture, 失败返回False注意:仅能检测文件, 而非文件夹文件夹检查os.path.exists即可以检查文件也可以检查文件夹import os a_path='/pythontab.com/' if os.path.exists(a_path): #do something文件权限检查上面仅检查了文件是否存在,并没有
linux判断文件夹是否存在相关课程
linux判断文件夹是否存在相关教程
- 3.2 文件判断 在本章节由于 test 命令与运算符配合使用,与之前运算符章节有重复,我们在此温故知新,着手 test 命令来学习文件判断。文件测试在我们编写 Shell 中与文件操作非常常用,熟练掌握文件操作可以在后续的 Shell 编写中得心应手,例如 file 变量为:操作符说明举例-dfile 检测文件是否是目录,如果是,则返回 true。[-d $file] 返回 false。-ffile 检测文件是否是普通文件(既不是目录,也不是设备文件),如果是,则返回 true。[-f $file] 返回 true。-cfile 检测文件是否是字符设备文件,如果是,则返回 true。[-c $file] 返回 false。-bfile 检测文件是否是块设备文件,如果是,则返回 true。[-b $file] 返回 false。-gfile 检测文件是否设置了 SGID 位,如果是,则返回 true。[-g $file] 返回 false。-ufile 检测文件是否设置了 SUID 位,如果是,则返回 true。[-u $file] 返回 false。-kfile 检测文件是否设置了粘着位 (Sticky Bit),如果是,则返回 true。[-k $file] 返回 false。-pfile 检测文件是否是有名管道,如果是,则返回 true。[-p $file] 返回 false。-rfile 检测文件是否可读,如果是,则返回 true。[-r $file] 返回 true。-wfile 检测文件是否可写,如果是,则返回 true。[-w $file] 返回 true。-xfile 检测文件是否可执行,如果是,则返回 true。[-x $file] 返回 true。-sfile 检测文件是否为空(文件大小是否大于 0),不为空返回 true。[-s $file] 返回 true。-efile 检测文件(包括目录)是否存在,如果是,则返回 true。[-e $file] 返回 true。例如:#!/bin/bashTEST_FILE="/etc/fstab"echo "检测的文件为:${TEST_FILE}"echo "文件信息为:$(ls -l ${TEST_FILE})"if [ -r $TEST_FILE ]then echo "文件可读"else echo "文件不可读"fiif [ -w $TEST_FILE ]then echo "文件可写"else echo "文件不可写"fiif [ -x $TEST_FILE ]then echo "文件可执行"else echo "文件不可执行"fiif [ -f $TEST_FILE ]then echo "文件为普通文件"else echo "文件为特殊文件"fiif [ -d $TEST_FILE ]then echo "文件是个目录"else echo "文件不是个目录"fiif [ -s $TEST_FILE ]then echo "文件不为空"else echo "文件为空"fiif [ -e $TEST_FILE ]then echo "文件存在"else echo "文件不存在"fi返回为:检测的文件为:/etc/fstab文件信息为:-rw-r--r--. 1 root root 500 Jan 17 14:23 /etc/fstab文件可读文件可写文件不可执行文件为普通文件文件不是个目录文件不为空文件存在
- 4.3 判断对象是文件还是目录 我们可以通过如下两个方法判断 File 对象是文件还是目录:boolean isFile():测试此抽象路径名表示的文件是否为普通文件;boolean isDirectory():测试此抽象路径名表示的文件是否为目录。实例如下:import java.io.File;public class FileDemo3 { public static void printResult(File file) { // 调用isFile()方法并接收布尔类型结果 boolean isFile = file.isFile(); String result1 = isFile ? "是已存在文件" : "不是已存在文件"; // 掉用isDirectory()方法并接收布尔类型而己过 boolean directory = file.isDirectory(); String result2 = directory ? "是已存在目录" : "不是已存在目录"; // 打印该file对象是否是已存在文件/目录的字符串结果 System.out.print(file); System.out.print('\t' + result1 + '\t'); System.out.println(result2); } public static void main(String[] args) { // 传入目录绝对路径 File dir = new File("C:\\Users\\Colorful\\Desktop\\imooc\\images"); // 传入文件绝对路径 File file = new File("C:\\Users\\Colorful\\Desktop\\imooc\\test.java"); FileDemo3.printResult(dir); FileDemo3.printResult(file); }}运行结果:C:\Users\Colorful\Desktop\imooc\images 不是已存在文件 是已存在目录C:\Users\Colorful\Desktop\imooc\test.java 不是已存在文件 不是已存在目录代码中我们封装了一个静态方法printResult(),此方法打印 File 对象是否是文件/目录。值得注意的是,我们的磁盘中不存在C:\Users\Colorful\Desktop\imooc\test.java,因此无论调用isFile()方法还是isDirectory()方法,其返回结果都为false。
- 3.1 判断数组是否为空 使用empty?方法来判断数组是否为空:实例:# 定义一个空数组> days_of_week = []=> []days_of_week.empty?=> true或者使用size或者length方法,判断数组的长度为0。实例:> days_of_week.length == 0=> true> days_of_week.size == 0=> true
- 8. .gradle 文件夹 这个文件其实我们不用太在意它,这个文件夹是项目构建的一个缓存的目录。只要我们打开一个 Android 项目,它就会生成这个文件夹。是一个临时的文件夹。
- 2. os 模块操作文件与文件夹 os 模块是 Python 中操作文件与文件夹时常用的模块,os 模块中常用方法见下表。方法名描述 getcwd() 获取当前工作目录 listdir(path) 获取指定的文件夹包含的文件或文件夹的名字的列表 rename(src,dst) 用于文件或文件夹重命名 makedirs(path) 用于递归创建文件夹 removedirs(path) 用于递归删除文件夹 remove(path) 删除指定路径的文件 open(file, flags[, mode]) 打开文件 read(fd,n) 读取指定文件 wirte(fd,str) 写入内容 walk(dir) 文件、目录遍历器os.path 模块中常用方法见下表。方法名描述 os.path.exists(path) 如果路径 path 存在,返回 True;如果路径 path 不存在,返回 Falseos.path.join(path1[, path2[, …]]) 把目录和文件名合成一个路径下面来具体看下每个方法的使用:getcwd () 使用:import osprint(os.getcwd()) #输出:D:\code代码解释:当前代码文件存放在 D:\code 下,导入 OS 模块,使用 getcwd () 方法,获取当前工作目录,打印结果为 “D:\code”,如下图所示。listdir () 使用:import osprint(os.listdir('.'))#输出:['dingding.py', 'image', 'index.py', 'writeppt.py', 'writeword.py']代码解释:listdir () 方法可以获取指定的文件夹包含的文件或文件夹的名字的列表,目前 D:\code 目录下文件结构如下图所示。通过 listdir () 方法传递指定目录,代码中传递 “.” 表示当前目录,输出结果:[‘dingding.py’, ‘image’, ‘index.py’, ‘writeppt.py’, ‘writeword.py’],如下图所示。rename () 使用:import osos.rename("image","newimage")os.rename("dingding.py","newdingding.py")代码解释 :rename () 方法为重命名文件或文件夹,第一个参数为要重命名的文件名或文件夹名,第二个参数为修改后的名称,上述代码中将文件夹 “image” 重名为 “newimage”,将文件 “dingding.py” 重名为 “newdingding.py”,代码执行完成后,D:\code 目录下效果如下图所示。makedirs () 使用:import osos.makedirs("dist/src/code")代码解释:makedirs () 方法用于递归创建目录,参数即为需要递归创建的目录,上述代码指定 “dist/src/code”,即表示创建一个 dist 文件夹,其中包含 src 文件夹,在 src 下包含 code 文件夹。代码执行完成后,D:\code 目录下效果如下图所示。removedirs () 使用:import osos.removedirs("dist/src/code")print(os.listdir('.'))#输出:['newdingding.py', 'newimage', 'index.py', 'writeppt.py', 'writeword.py']代码解释 :removedirs () 方法用于递归删除目录,参数为要递归删除的目录,上述代码指定 “dist/src/code”,即将 dist 文件夹下 src 文件夹下 code 文件夹一并进行删除。执行完删除后,通过 listdir () 方法查看当前目录下文件结构,输出 [‘newdingding.py’, ‘newimage’, ‘index.py’, ‘writeppt.py’, ‘writeword.py’],可以看到已经完成删除操作。代码执行完成后,D:\code 目录下效果如下图所示。remove () 使用:import osos.remove("newdingding.py")print(os.listdir('.'))#输出:['newimage', 'index.py', 'writeppt.py', 'writeword.py']代码解释 :remove () 方法用于删除指定文件,上述代码中删除 “newdingding.py” 文件,删除完成后,通过 listdir () 方法查看当前目录文件结构,输出 [‘newimage’, ‘index.py’, ‘writeppt.py’, ‘writeword.py’],可以看到已经完成删除操作。代码执行完成后,D:\code 目录下效果如下图所示。open () 使用:import osos.open("writeppt.py",os.O_RDONLY)代码解释:open () 方法用于打开指定文件,第一个参数为要打开的文件,第二个参数为打开的模式,可以取值如下所示:OS.O_RDONLY:以只读的方式打开;OS.O_WRONLY:以只写的方式打开;OS.O_RDWR:以读写的方式打开;OS.O_NONBLOCK:打开时不阻塞;OS.O_APPEND:以追加的方式打开;OS.O_CREAT:创建并打开一个新文件;OS.O_TRUNC:打开一个文件并截断它的长度为零(必须有写权限);OS.O_EXCL:如果指定的文件存在,返回错误;OS.O_SHLOCK:自动获取共享锁;OS.O_EXLOCK:自动获取独立锁;OS.O_DIRECT:消除或减少缓存效果;OS.O_FSYNC:同步写入;OS.O_NOFOLLOW:不追踪软链接。上述代码中,打开 writeppt.py 文件,以只读方式打开,返回新打开文件的描述符,可以进行后续的读取、写入操作。read () 使用:import OSfs=os.open("writeppt.py",OS.O_RDONLY) # fs 就是 writeppt.py 的文件描述符print(OS.read(fs,24))代码解释 :read () 方法为从文件描述符中读取文件内容,第一个参数为 open () 方法打开文件返回的文件描述符,第二个参数为读取的字节数。上述代码中读取 writeppt.py 文件 24 个字节内容。代码执行完成后,输出效果如下图所示。write () 使用:import osfs=os.open("test.txt",os.O_RDWR) # fs 就是 test.txt 的文件描述符,打开模式设置为以读写的方式打开print(os.write(fs,"hello python")) #写入内容为hello python代码解释:write () 方法用于写入字符串到文件描述符 fs 中,第一个参数为文件描述符,第二个参数为写入的字符串内容。代码执行完成后,输出效果如下图所示。walk () 使用:import osfor dirpath, dirnames, filenames in os.walk("D:/code"): #输出:D:/code ['newimage'] ['index.py','test.txt','writeppt.py','writeword.py'] print(dirpath, dirnames, filenames)代码解释:os.walk () 方法是一个简单易用的文件、目录遍历器,接收参数为要遍历的目录的地址,返回的是一个三元组 (dirpath, dirnames, filenames),分别表示当前正在遍历的这个文件夹的本身的地址、该文件夹中所有的目录的名字、该文件夹中所有的文件。代码中指定目录 D:/code,执行时会遍历 D 盘 code 目录下所有文件和文件夹,输出效果如下图所示。os.path.exists () 使用:import osprint(os.path.exists("D:\\code\\index.py")) #输出trueprint(os.path.exists("D:\\code\\test.py")) #输出False代码解释 :exists () 方法判断路径是否存在,上面代码中在 D 盘 code 文件夹下存在 index.py,所以输出 true,不存在 test.py,输出 False。代码执行完成后,输出效果如下图所示。os.path.join () 使用:import os#输出D:\code\2020\11print(os.path.join("D:\\code\\","2020\\","11"))代码解释:join () 方法用于把目录和文件名合成一个路径。代码执行完成后,输出效果如下图所示。
- 10.1 判断括号是否匹配 判断一个数学式子的括号匹配是否合法,如 (1 + 2) * (3 + 4)) ,这个式子就是不合法的。校验括号合法不单单要看左括号和右括号的数量是否相等,还要看括号的顺序, ))(( 这样的括号顺序一定是错误的。利用 JavaScript 数组的特性,可以很容易的实现。// 空数组var stack = [];// 一个式子var equation = '(1 + (2 - 3) * 4) / (1 - 3)';var i, len;for (i = 0, len = equation.length; i < len; i++) { if (equation[i] === '(') { // 如果碰到左括号 // 往数组里放个1 stack.push(1); } else if (equation[i] === ')') { // 如果碰到右括号 if (!stack.length) { // 判断数组长度,如果是0,则肯定是出错的,数组长度0的时候说明没有左括号,没有左括号是不可能出现右括号的 // 随便放一个1 stack.push(1); break; } // 如果数组不是空的 就从数组末尾拿一个走。 stack.pop(); }}// 判断数组长度if (!stack.length) { // 如果数组已经空了,说明括号都一一对应,式子里的括号没问题。 console.log('括号合法');} else { console.log('括号不合法');}使用数组实现的具体思路就是,碰到左括号就往数组里放一个成员,碰到一个右括号就拿掉一个成员。这样如果最后有剩下,说明括号没有一一成对。(1+2*(3+4))*1 如这样一个式子:初始化操作: 定义数组 arr为空从式子第一个字符开始循环 第一次循环: 数组的值为 [] 得到字符"(" 判断是左括号,往数组里放一个1,表示碰到了左括号 第二次循环 数组的值为 [1] 得到字符"+" 既不是左括号,又不是右括号,进行下一轮循环,不做操作 第三次循环 第四次循环 第五次循环 与第二次循环基本一致 第六次循环 数组的值为 [1] 得到字符"(" 是左括号 往数组里再放一个1,表示碰到了左括号 第七次循环 数组值为 [1, 1] 得到字符"3" 不是左括号,也不是右括号,进行下一轮循环 第八次循环 第九次循环 与第七次一致 第十次循环 数组的值为 [1, 1] 得到字符")" 是右括号,从数组末尾拿掉一项 第十一次循环 数组的值为 [1] 得到字符")" 是右括号,从数组末尾拿掉一项 第十二次循环 第十三次循环 数组值为 [] 都不是括号,不做操作循环结束判断数组值,如果是空的,说明括号匹配完了,显然 (1+2*(3+4))*1 是合法的当然这种判断有局限性,假如碰到 ((1+)2)-3 这种非括号造成不合法的式子,就判断不出来了。其实这里用到了栈这种数据结构,这个问题在栈的应用上很经典,是算法入门常见面试题之一。
linux判断文件夹是否存在相关搜索
-
label
labelfor
label标签
lambda
lambda表达式
lamda
lang
last
latin
latin1
layers
layui
leave
left
leftarrow
legend
length
lengths
length函数
less