我一直在用一本非常酷的C语言入门书学习编程,我把每个例子和任务都写下来,这样我就能用心学习语法。直到现在,我还在手动处理每一个文件,但点击、命名和保存都让人疲惫不堪。
我需要一种方法来创建多个文件,如bspl0001.c
、bspl0002.c
、bspl0003.c
等,并将它们保存在目录"learning_c"或其他地方。
我是Ubuntu/Linux的新手,说实话,只通过VirtualBox运行,因为IDE Geany很容易设置。因此,我不知道终端是如何工作的。
编辑 我刚刚在我的这个旧账户中发现了自己,并在摇头,我为什么要用心去学习一个代码语法呢?有趣的是,我已经快完成了我的CS/数学学士学位的学习。非常感谢你事后的帮助!
你可以用这些命令来做这件事。
mkdir learning_c
cd learning_c
touch bspl{0001..0003}.c
"mkdir learning_c"。
learning_c
的文件夹。~
。cd
命令改变当前目录(即cd Desktop
)。cd learning_c
touch bspl{0001...0003}.c
。
touch
是一个创建空文件和修改时间戳的工具;我们正在创建空文件。
touch myfile
将创建一个名为myfile
的空文件。
*后面的丑陋代码(bspl{0001..0003}.c
)被称为括号扩展。这是bash
shell的一个伟大功能,它允许你创建任意字符串组合的长列表。你可以在Bash Hackers Wiki中了解更多这方面的信息。在这个例子中,你将制作一个长的参数列表,并将其传递给touch
。你也可以使用其长的等价物。
touch bspl0001.c bspl0002.c bspl0003.c
你可以改变文件的数量:如果你想要12个文件,你可以运行bspl{0001...0012}.c
。
前面的零(0012
而不是12
)确保了输出使用零填充的4位数。
为什么要一次创建所有的文件?其缺点是你会有很多空的和未使用的文件。我实际使用的是:按一个组合键来。
所有这些都在一次按键中完成。这样,你就可以防止大量(仍然)未使用的文件;这些文件只有在你需要时才会被创建。
下面是一个简化版本(没有运行第3步)。在每一个按键上,它将创建一个正确编号的文件,如。
bspl0001.c, bspl0002.c, bspl0003.c etc
#!/usr/bin/env python3
import os
#--- set your code directory below
dr = "/path/to/your/coding_files"
#--- set the desired (base) name extension and shebang below (leave it ""if you don't want an automatically set shebang)
name_initial = "bspl"
extension = ".c"
shebang = ""
#---
existing = os.listdir(dr)
n = 1
while True:
file = dr+"/"+name_initial+str(n).zfill(4)+extension
if os.path.exists(file):
n = n+1
else:
with open(file, "wt") as out:
out.write(shebang)
break
1.将该脚本复制到一个空文件中 2.在头部部分,设置到你的目录的路径(以及可选的:改变基本名称和/或扩展名,shebang)。 3.将该脚本保存为create_empty.py 4.从一个快捷方式运行该脚本。系统设置 > 键盘 > 自定义快捷方式。添加命令。
python3 /path/to/create_empty.py
你可以使用下面的python代码,你可以根据自己的需要进行修改。
保存以下代码,文件名为filecreator.py
。
#!/usr/bin/env python
import os
import subprocess
work_path = os.path.abspath(os.path.dirname(__file__))
if not os.path.exists("learning_c"):
os.mkdir("learning_c")
os.chdir(os.path.expanduser(work_path+"/learning_c"))
n = 10 #put the number as you wish
for i in range(n):
subprocess.call(['touch', "bsdl"+str(i).zfill(4)+".c"])
然后用这个命令执行它。
python filecreator.py