我应该使用什么语言进行文件和字符串操作?
这似乎是客观的,但我认为并非如此.关于这一点有很多话要说.例如,我可以清楚地看到,对于大多数用法而言,Perl将是比Java更明显的候选者.我需要经常这样做,此时我使用C#,但我想要一个更像脚本的语言来做到这一点.
我可以想象Perl会成为它的候选者,但我想在PowerShell中做到这一点,因为PowerShell可以访问.NET库(简单).或者Python是否适合它?如果我必须学习一门新语言,那么Python肯定是我的名单之一,而不是Perl.
我想要做的是,例如,读取文件,进行一些更改并再次保存.例如:打开它,对所有行(比如3位数)进行编号并关闭它.任何语言的任何例子都是受欢迎的,但越短越好.这是实用程序脚本我在这里,而不是OO,TD开发,单元测试的东西当然.
我非常希望看到的是(伪代码):
open foobar.as f
foreach line in f.lines
line.addBefore(currenIteratorCounter.format('ddd') + '. ')
close f
Run Code Online (Sandbox Code Playgroud)
所以:
bar.txt
Frank Zappa
Cowboy Henk
Tom Waits
numberLines bar.txt
bar.txt
001. Frank Zappa
002. Cowboy Henk
003. Tom Waits
Run Code Online (Sandbox Code Playgroud)
更新:
这里的Perl和Python示例非常棒,绝对符合我的希望和期望.但那里没有PowerShell人吗?
我想知道最有效的方法是制作带有图像的CALayer.
我知道你可以加载一个UIImage,然后调用[image CGImage],但这是最好的方法吗?据我所知,从Apple的文档中可以看出这是你能做到的唯一方法.
在我正在处理的Web应用程序中,用户可以创建一个包含文件的文件夹的zip存档.这是代码:
files = torrent[0].files
zipfile = z.ZipFile(zipname, 'w')
output = ""
for f in files:
zipfile.write(settings.PYRAT_TRANSMISSION_DOWNLOAD_DIR + "/" + f.name, f.name)
downloadurl = settings.PYRAT_DOWNLOAD_BASE_URL + "/" + settings.PYRAT_ARCHIVE_DIR + "/" + filename
output = "Download <a href=\"" + downloadurl + "\">" + torrent_name + "</a>"
return HttpResponse(output)
Run Code Online (Sandbox Code Playgroud)
但是,在下载zip存档时,这会产生长时间等待(10秒以上)的恶劣副作用.有可能跳过这个吗?而不是将存档保存到文件,是否可以直接发送给用户?
我确实相信torrentflux提供了我正在谈论的这个令人兴奋的功能.能够压缩GB数据并在一秒钟内下载.
我正在寻找一种编写应用程序的方法.我使用Visual C++ 6.0.
我需要阻止用户通过任务管理器关闭此过程.
我正在使用Janrain的PHP-OpenID 2.1.3,并且我已经设法让它与我尝试过的所有提供商合作,除了Google和Yahoo.这里的主要区别似乎是谷歌和雅虎,与大多数其他供应商,不使用用户特定的URL,而是让用户发现框架都在他们的终端-它抛出的默认Janrain框架为一个循环,然后它尝试开始auth请求.
从我所看到的情况看起来可能是YADIS发现错误,因为发现是在谷歌或雅虎的结尾,所以应该可以绕过它,但我不确定.对我来说这对我来说都是非常非正式的学习经历,而且我没有找到可以帮助我解决这个问题的文档.任何提示将非常感谢.
编辑:我遇到的具体问题是,当为Google或Yahoo URL调用begin()函数时,我得到一个null返回.此功能可在Auth/OpenID/Consumer.php中找到,以供参考.
如何将一组格式规则应用于emacs中的现有源文件?
具体来说,我有一个assembly(*.s)文件,但我希望所有类型的文件都有一个通用命令.
我想使用M-x c-set-style与gnu风格,但我得到一个错误:
缓冲区*.s不是CC模式缓冲区(c-set-style)
如果微软的方法使用IE作为HTA的本地主机,那么我可以使用任何其他浏览器吗?
我正在尝试为使用basicHttpBinding的Windows移动应用程序生成WCF代理客户端代码,并且我不断收到以下错误:
错误:工具中发生错误.
错误:应用程序中出错
之前我能够生成代理,但我不知道为什么突然发生这种情况.我已经阅读了Sameh Samir的帖子,但我使用的服务不使用我创建的任何消息合同(我使用过LINQ to SQL ORD),WCFTestClient可以连接到服务并显示合同.
UPDATE
似乎问题出在Windows 7 RC1上.我在Win7上尝试它并在XP上运行NetCFSvcUtil之后一切正常.
任何人都知道如何向Microsoft报告此问题?
在VS 2008中处理ASP.NET表单时,如何关闭这些蓝色指南?您曾经只能拖动绝对控件.现在,我和设计师打架,不让我把东西放在我想放的地方!
干杯,罗布.
这个问题类似于在*nix中清空目录最安全的方法是什么?
我正在编写bash脚本,它定义了几个路径常量,并将它们用于文件和目录操作(复制,重命名和删除).通常有必要做以下事情:
rm -rf "/${PATH1}"
rm -rf "${PATH2}/"*
Run Code Online (Sandbox Code Playgroud)
在开发这个脚本的过程中,我想保护自己免受类似PATH1和PATH2等名称的错误输入,并避免将它们扩展为空字符串,从而导致擦除整个磁盘.我决定创建特殊的包装器:
rmrf() {
if [[ $1 =~ "regex" ]]; then
echo "Ignoring possibly unsafe path ${1}"
exit 1
fi
shopt -s dotglob
rm -rf -- $1
shopt -u dotglob
}
Run Code Online (Sandbox Code Playgroud)
这将被称为:
rmrf "/${PATH1}"
rmrf "${PATH2}/"*
Run Code Online (Sandbox Code Playgroud)
正则表达式(或sed表达式)应该捕获像"*","/*","/**/","///*"等路径,但允许路径,如"dir","/ dir","/ dir1/dir2 /","/ dir1/dir2/*".另外我不知道如何在"/ dir with space/*"的情况下启用shell globbing.有任何想法吗?
编辑:这是我到目前为止提出的:
rmrf() {
local RES
local RMPATH="${1}"
SAFE=$(echo "${RMPATH}" | sed -r 's:^((\.?\*+/+)+.*|(/+\.?\*+)+.*|[\.\*/]+|.*/\.\*+)$::g')
if [ -z "${SAFE}" ]; then
echo "ERROR! Unsafe deletion of ${RMPATH}" …Run Code Online (Sandbox Code Playgroud)