草庐IT

php - 如何检查目录是否存在? "is_dir", "file_exists"还是两者兼而有之?

如果目录不存在,我想创建一个目录。使用is_dir函数是否足以达到此目的?if(!is_dir($dir)){mkdir($dir);}或者我应该将is_dir与file_exists结合起来吗?if(!file_exists($dir)&&!is_dir($dir)){mkdir($dir);} 最佳答案 在Unix系统上两者都会返回true-在Unix中一切都是文件,包括目录。但是要测试是否使用了该名称,您应该同时检查两者。可能有一个名为“foo”的常规文件,它会阻止您创建一个名为“foo”的目录。

xcode - xcode 在我的系统上将 "$(BUILT_PRODUCTS_DIR) 解析到哪里?

当使用Xcode4.2为iPhone模拟器编译时,如果我放置"$(BUILT_PRODUCTS_DIR)"在BuildSettings/Headersearchpaths/Debug退出编辑我可以看到它解析为:"build/Debug-iphoneos"这应该在我的系统上的什么位置?我看过了:Library/Developer/Xcode/DerivedData/{ProjectName}/Build但我找不到一个名为build的文件,其中包含一个名为Debug-iphoneos的文件夹。 最佳答案 在我的系统上,编译一个解析为绝对

python - 带有负索引的 str.format(list) 在 Python 中不起作用

我在替换字段中使用负索引输出格式化列表,但它引发了一个TypeError。代码如下:>>>a=[1,2,3]>>>a[2]3>>>a[-1]3>>>'Thelast:{0[2]}'.format(a)'Thelast:3'>>>'Thelast:{0[-1]}'.format(a)Traceback(mostrecentcalllast):File"",line1,inTypeError:listindicesmustbeintegers,notstr 最佳答案 这就是我所说的格式字符串规范中的设计故障。根据thedocs,elem

python - __str__ 和 __repr__ 有什么区别?

__str__有什么区别和__repr__在Python中? 最佳答案 Alex总结得很好,但令人惊讶的是,过于简洁。首先,让我重申Alex’spost中的要点。:默认实现是无用的(很难想到一个不会,但是是的)__repr__目标是明确的__str__目标是可读容器__str__使用包含的对象__repr__默认实现没用这主要是一个惊喜,因为Python的默认值往往相当有用。但是,在这种情况下,默认为__repr__其作用如下:return"%s(%r)"%(self.__class__,self.__dict__)会太危险(例如,

ruby Dir.glob 之谜 : Where are the FNM_xxx flags described?

注意:这已经发布在RubyForum上几周前。我在这里交叉发布它,因为到目前为止我没有收到任何回复Dir.glob提供了一个可选参数,通常称为“标志”。我在哪里可以找到关于哪些标志是可能的文档?Ruby2.0文档只是说标志“与在文件.fnmatch”。查找File.fnmatch的文档,我只找到了解释这些是“FNM_xxx”标志,可以或运算一起。但是我找不到关于FNM_xxx标志的文档存在。这是在哪里描述的? 最佳答案 它实际上是在File::Constants中定义的,因此在同一目录下进行了记录。用ri查找:riFile::Con

ruby - --css-dir 是否总是相对于项目目录?

我正在使用compass0.10.4我正在运行一个compass命令,我希望它把它的输出放到当我运行watch而不是项目目录时服务器。有什么方法可以指定绝对路径而不是路径相对于您希望css输出到的目录?我正在尝试将编译后的css输出到目录:/home/leeand00/leeand00.com/wp-content/themes/coffeeSunrise而是输出到/home/leeand00/leeand00.com/wp-content/themes/coffeeSunrise我尝试使用--css-指定编译后的css输出目录dir在命令行上。我还尝试将css_dir的值更改为/ho

ruby-on-rails - Ruby Dir ['**/*' ] 限制?

是否可以对Dir.each方法设置限制?我只想检索最后10个文件(按创建日期排序)。例子:Dir[File.join(Rails.root,'*.json'),10].eachdo|f|putsfend谢谢。 最佳答案 这是让底层操作系统完成繁重工作可能更有效的时代之一,尤其是当您正在梳理大量文件时:%x[ls-rU*.json|tail-10].split("\n")在将打开shell的MacOS上,按创建日期的相反顺序对所有“*.json”文件进行排序,返回最后十个。名称将以字符串的形式返回,因此split会在行尾将它们分解为一

ruby-on-rails - 如何避免 `#{str}` 中的安全问题

像这样编写代码是一种方便的方法:str="John"p"Welcome,#{str}"#=>"Welcome,John"在真实的Rails应用程序中,str可能被故意写入以终止当前表达式并启动恶意代码。在我们确实需要将字符串与评估的函数值混合的情况下,如何避免使用#{}?例如:“你好,#{foo(param)}”。 最佳答案 "#{str}"有以下警告是安全的:格式本身不得由用户提供。另一方面,插入的值(str的求值)不是(求值)结果。因此,要使这段代码不安全实际上相当困难:fmt="doBadStuff()"eval('"Welc

ruby-on-rails - 如何将多个模式与 Dir.glob 匹配?

在我的Rails应用程序中,我尝试使用Dir.glob收集两个不同目录中包含的所有文件的路径。下面的代码可以工作,但不是很简洁。有没有办法用Dir.glob同时匹配两个模式?common_file_paths=Dir.glob("app/assets/mystuff/*").rejectdo|path|File.directory?(path)endmore_file_paths=Dir.glob("app/assets/mystuff/more/*").rejectdo|path|File.directory?(path)endfile_paths=common_file_paths

Ruby Dir.存在吗?未定义的方法

我在documentation中查看了Dir.exists?方法我相信我使用正确,但在每次调用时我都会遇到此错误:未定义的方法“存在吗?”对于Dir:Class(NoMethodError)我是否忽略了一些非常明显的事情?下面是相关代码。#!/usr/bin/rubyARGV.eachdo|dir|#Arguementsaredirectorynames.if!Dir.exists?(dir)#dosomethingendend编辑:使用File.directory?而不是Dir.exists?修复了我的程序,但没有解释这个错误。 最佳答案