制作和预先处理脚本,遇到不必要的影响

时间:2017-08-18 10:54:29

标签: python-3.x

我确信这很可能会因为一个糟糕的头衔而被投票,但这是我的第一个问题。

我正在编写一个自动创建Python脚本的程序,可以选择在自己的文件夹中创建。 伪代码如下: - 获取要使用的文件名 - 获取用户对文件夹创建的选择 - 确保当前工作目录是此脚本运行的目录(为了更好的衡量标准) - 如果用户想要一个文件夹,mkdir与要制作的文件同名并插入其中。 - 使用请求的名称生成一个文件,chmod + x it,然后插入shebang行。

实际代码如下所示。

#!/usr/bin/python3
import os
import stat
import sys
filename=sys.argv[1]
makefolder=bool(sys.argv[2])   #This might be where the error occurs?
def makeexec(fname):
    f=open(fname,'w+')
    f.write("#!/usr/bin/python3")
    f.close()
    st=os.stat(fname)
    os.chmod(fname,st.st_mode|stat.S_IXUSR|stat.S_IXGRP|stat.S_IXOTH)
os.chdir('/home/pi/programs')                  #^^^ effectively chmod +x
if makefolder:
    os.mkdir(filename)
    os.chdir('./'+filename)
makeexec(filename)

从终端调用代码如下:

./pymake examplescript 1
可以在第二个参数中插入

1,0,true或false。 True生成一个文件夹,False不生成。 这段代码的问题在于,无论用户选择什么,它都会创建一个文件夹。

编辑:已解决。我只是不知道bool()是如何工作的,并且没有任何有意义的输入,bool被指定为True

0 个答案:

没有答案