这是我第一次使用Python而我正在尝试创建一个可以:
的程序这是我到目前为止的代码。它似乎没有创建文件,我可能犯了一些我不知道的其他错误。
import sys
name = input('C:\\MyFolder\\program.py')
//Create program containing print command
file = open(name, 'w')
file.write("print('Hello, world!')")
file.close()
//Run program (and possibly save it?)
os.system('C:\\MyFolder\\program.py')
//Exit IDLE
sys.exit(0)
如何创建,编写和运行新程序?
答案 0 :(得分:0)
虽然你的问题并不完全清楚,但我想我知道你的问题是什么。
首先,当您执行input('C:\\MyFolder\\program.py')
时,C:\\MyFolder\\program.py
只是显示给用户的提示。它不是默认值。因此,如果用户刚刚返回,则name
将为空,并且您无法成功创建文件。
其次,即使用户确实输入了某些内容,除非他输入的内容正是C:\\MyFolder\\program.py
,否则您要创建一个具有一个名称的文件,然后尝试运行具有不同名称的文件,该文件不是#39;去上班。
所以,你可能想要这样的东西:
default_name = 'C:\\MyFolder\\program.py'
name = input(default_name)
if not name:
name = default_name
# ... your existing code to create the file
os.system(name)
有很多方法可以改善这一点(将subprocess.check_call
与sys.executable
一起使用,在文件中添加一个shbang行,使用with
语句而不是显式{{1} },使提示看起来像close
而不是默认值,...)。但这应该足以让它发挥作用。