Questions tagged «file-system»

对于与操纵和遍历文件系统有关的挑战。这可能包括读取目录树,创建,移动和删除文件或目录,读取或更改文件权限等。

2
贝壳球高尔夫
此任务是在glob扩展后将最短路径输出到文件。 什么是贝壳球?在大多数外壳中,您可以*在路径中使用字符来表示该位置上的任何字符。例如,如果目录foo包含bar baz和asdf,foo/b*则将扩展为foo/bar foo/baz。 现在,假设当前目录包含一个名为的文件ihavealongname,仅此而已。如果要引用此文件,可以键入*,它将仅表示一个文件,而不是输入全名。 如果目录中还包含一个名为的文件ialsohavealongname,则无法执行*,因为它将匹配这两个文件。我至少必须要做ih*。 该*模式还可以匹配我要查找的文件上方的目录。如果只有两个目录foo和bar,但foo只包含一个文件baz,并bar包含一个文件asdf,我可以匹配foo/baz用*/baz。或者,更简洁地说*/b*。如果bar是空的,*/*将起作用。 您的任务:给定表示“当前目录”的路径字符串数组和单个目标路径,输出可能的最短字符串,该字符串在扩展* s后将仅扩展到该目标路径。 目标路径可以当作它自己的字符串,路径数组的索引,传入的路径数组的第一项或其他非硬编码的便捷方式。如果不确定,请在评论中提问。 保证目标路径存在于“当前目录”中。 您可以假设所有路径仅包含字母数字ASCII(和/s)。您可以将扎根(以开头/)或相对(不以开头/)的路径作为输入路径。 如果存在多个同样短的可能性,请返回其中的任意一个或全部。 这是 代码高尔夫球,最少的字节获胜! 测试用例,感谢Kevin Cruijssen。

5
实施dog bash实用程序
dog 是一个命令行实用程序,它接受任意数量的参数,其中第一个是要写入的文本,其他则是任意多个文件。 该dog实用程序将在这些文件上等分文本。如果还有余数n,则第一个n文件会再增加一个字节 dog与catforall 相反,x以下内容应成立。 $> dog x a.txt b.txt ... $> cat a.txt b.txt ... x$> 其中...表示任意多个文件。 一个示例(12个字节,3个文件,可以平均分割): $> ./dog.py "Dogs vs Cats" a.txt b.txt c.txt $> cat a.txt Dogs$> cat b.txt vs $> cat c.txt Cats$> cat a.txt b.txt c.txt Dogs vs Cats$> 带有余数的示例(13个字节,5个文件,余数3): 9$>./dog.py "0123456789abc" a.txt b.txt …

10
Hello World处理错误
编写具有以下功能的程序或函数: 程序/函数首先尝试将字符串写入Hello, world!标准输出流。(此挑战没有其他形式的输出是可以接受的,因为重点是I / O而不是程序本身的琐碎行为。)取决于程序是否成功: 如果成功输出Hello, world!,则程序/功能将退出而没有任何进一步的行为。 如果由于错误而未能产生正确的输出,则程序/函数会尝试将字符串写入Error writing "Hello, world!"标准错误流。(出于此挑战的目的,您无需为错误处理本身进行错误处理。) 澄清说明 您的程序/函数将在没有输入的情况下运行(除非以绝对需要输入才能正常工作的语言编写,在这种情况下,它将使用最简单的输入来运行)。 产生输出时,如果愿意,也可以产生一个尾随换行符,但这不是强制性的。 程序实现的“写入标准输出错误”的定义必须至少将以下情况视为错误: 不存在标准输出(即,stdout是封闭的文件句柄,不存在文件描述符1,或者这些情况会转换为您使用的语言和操作系统); 标准输出,指的是磁盘上没有可用空间的文件; 标准输出连接到另一个程序,该程序已经关闭了连接的末端。 并且必须至少将以下情况视为成功(即不是错误): 标准输出连接到终端,并Hello, world!显示在屏幕上。 标准输出连接到文件,并Hello, world!写入文件中。 您可以选择什么才是输出错误的详细信息,只要它与上述规则一致即可。 遇到上面列出的任何错误情况,您的程序/功能都不会崩溃。由您决定使用哪种退出代码。 您的程序/函数不应在标准错误流上描述遇到的错误的性质;它应该只打印上面指定的字符串。标准错误的无关输出(例如,编译器警告)只有在无条件产生的情况下才是合法的,无论是否遇到错误。 您的程序仅需要在一个操作系统上运行(尽管必须是上面列出的错误才有意义的操作系统;我试图使它们具有足够的通用性,以使其能够在大多数多任务消费者操作系统上运行,但是怪异的操作系统可能会排除在此挑战之外)。如果您的程序不可移植,请在提交的标题中列出需要运行的假设。 并非每种语言都可能完成此任务(并非每种语言都允许程序以自定义方式处理输出错误)。您必须选择一种可能的语言。 确保您的程序/功能有效!不要仅仅相信库函数的文档就能完成他们说的事情。简单的输出函数的错误处理在实践中常常被证明是错误的,即使函数声称在理论上处理错误。 测试用例 这是一种bash在Linux 上使用的方法,可以模拟上述每种错误情况(您不必使用Linux,但这可能是最简单的测试系统): your_program_here >&- # nonexistent stdout your_program_here > /dev/full # out of disk space mkfifo test # note: change …

4
排队,但带有Windows文件!
编写一个quine,该quine在运行时会在当前目录中创建一个名为自身的源文件。我们将在其中使用Windows,因此文件名(并因此是quine)必须具有以下限制: 这些字符都不是 \ / : ? * < > | 少于211255个字符 局限性和假设 您的代码必须是完整的程序(毕竟将要运行)。 不能从源文件复制。 您可以假设没有另一个以Quine为名称的文件(因为它将产生Quine(1))。 错误是允许的(只要它们不进入源代码即可) 这是 代码高尔夫球,以字节为单位的最短代码胜出! 编辑 也许我不清楚,但带有quine名称的文件实际上必须包含该quine。我的错。

11
编写程序以显示目录树屋
C:/从stdin或从文件读取的给定目录(例如)产生目录树,每个文件/文件夹根据其深度缩进。 例 如果我有一个C:/驱动器只包含两个文件夹foo和bar,和bar是空的,而foo含有baz.txt,那么在运行的输入C:/产生: C:/ bar/ foo/ baz.txt 输入运行时会C:/foo/产生 foo/ baz.txt 因为这是codegolf,所以最低字节数为准。文件扩展名(例如baz.txt)是可选的。附加说明:隐藏的文件可以忽略,目录必须实际存在,可以假定文件不包含不可打印的字符或换行符,但所有其他可打印的ASCII字符都很好(必须支持带空格的文件名)。可以将输出写入文件或标准输出。缩进可以由制表符或4个空格组成。

1
您好人类,我想找回我的小猫咪照片
注意:这种情况下呈现的所有内容都是伪造的,只是为了使挑战变得更加有趣而已;)...也许不是;) === ===开始传输=== === 您好, 我最近发生了磁盘故障。希望我有备份,现在我想要我的照片。但是,在我居住的并行世界中,每个备份看起来都已损坏。但这不是问题,因为我们有特殊的工具可以帮助用户找回文件。它们的工作方式与您的类似,并且在磁盘周围寻找看起来像图像的标题。当它们仍处于测试阶段时,该软件将恢复找到的任何图像,为其提供一个随机名称并输出包含以下内容的列表: 拍摄照片的相机型号,-如果没有,则为一个。请注意,模型可以包含空格,但不能包含-。 制表符(\t,ASCII 9) 照片文件的名称。 该文件是标准文本文件,如下所示: [...] - uyfeiebsvH.jpg - hv754ce758.gif - 8321214736.jpg - FgnvsfHJBs.jpg - OMGILOVYOU.jpg - HElloDearH.png - umanHAYYSG.jpg COOLCAM S1332 umanIAYYSG.jpg iCell 7G 1234567890.jpg [...] 该文件很大,我不能依靠我的小Ubro将所有带有模型的文件移动到单独的目录中。 亲爱的人类,我需要您的帮助。我希望您将所有包含有关相机数据的照片移到一个单独的目录中,以便从这些混乱的图标,屏幕截图中找到我的小可爱猫咪照片。 但是,这些备份是在My LiquidStateDrive46X上进行的,所以我没有多少空间了(我实际上是在下载Internet,因此,在执行此操作时很难下载其他内容。我可以几乎不上网,您是我发现的唯一一个人!) 不要让我那样生活!请为我编写一个小程序,该程序将为我完成工作,并节省一些Ubro。 因为这是代码高尔夫,所以最短的程序胜出 我需要能够启动您的程序,人类!因此,请确保您的程序具有现有的解释器。 您可以期望列表文件位于我启动脚本的目录中。它将命名为./list.txt 您需要将图像移动到./withmodel/ 恢复的每个映像都位于我启动程序所在的目录中 没有图片以-为名。相机型号也是如此 它需要是一个真实的程序,而不是简单的功能。 无法访问互联网,我正在下载!这真的很重要。 我需要我的猫图像很快,否则我将无法生存:如果我今天还活着,这个代码高尔夫将在10月10日结束。 === ===传输结束=== ===
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.