Python 我不知道为什么我能';不要打开文件
我知道用Python打开文件很简单。然而,这里肯定发生了一些事情:Python 我不知道为什么我能';不要打开文件,python,tkinter,Python,Tkinter,我知道用Python打开文件很简单。然而,这里肯定发生了一些事情: File "exercise.py", line 16, in getinput f = open('w', fileName) TypeError: an integer is required (got type str) 完整代码,如果可能有问题: from tkinter import * from os import * ide = Tk();ide.title("Pyth
File "exercise.py", line 16, in getinput
f = open('w', fileName)
TypeError: an integer is required (got type str)
完整代码,如果可能有问题:
from tkinter import *
from os import *
ide = Tk();ide.title("Python 3 IDE")
controls = Tk();controls.title("Controls")
# Variables
tab = False
fileName = 'test.py'
# Get input
textInput = Text(ide)
textInput.pack()
def getinput():
f = open('w', fileName)
f.write(textInput.get("1.0", END))
save = Button(controls, text="Save", width=10, height=1, command=getinput).grid(column=0, row=0)
def run():
system('python3 ' + fileName)
run = Button(controls, text="Run", width=10, height=1, command=run).grid(column=1, row=0)
def tab(arg):
textInput.insert(INSERT, " " * 4)
return 'break'
textInput.bind("<Tab>", tab)
# Mainloop
ide.mainloop()
controls.mainloop()
从tkinter导入*
从操作系统导入*
ide=Tk();ide.title(“Python3IDE”)
控件=Tk();控制。标题(“控制”)
#变数
tab=False
fileName='test.py'
#获取输入
Text输入=文本(ide)
textInput.pack()
def getinput():
f=打开('w',文件名)
f、 写入(textInput.get(“1.0”,结束))
保存=按钮(控件,text=“save”,宽度=10,高度=1,命令=getinput)。网格(列=0,行=0)
def run():
系统('python3'+文件名)
运行=按钮(控件,text=“run”,宽度=10,高度=1,命令=run)。网格(列=1,行=0)
def选项卡(参数):
textInput.insert(插入“”*4)
返回“中断”
textInput.bind(“,选项卡)
#主回路
ide.mainloop()
controls.mainloop()
PS:我颠倒了参数。只是一个错误。你是对的,有些事情正在发生,但并非如你所愿。颠倒输入顺序
f=open(文件名为'w')#执行此操作,或
f=打开(文件名,模式为'w')
尽管我建议您尝试使用python习语
打开(文件名,mode='w')作为f的:
...
因为这将不可避免地让你在未来不再头疼。你是对的,有些事情正在发生,但并不是你想要的。颠倒输入顺序
f=open(文件名为'w')#执行此操作,或
f=打开(文件名,模式为'w')
尽管我建议您尝试使用python习语
打开(文件名,mode='w')作为f的:
...
因为这将不可避免地避免您将来的头痛。在open方法上反转参数:
f = open(FILENAME , "w" )
应修复它在打开方法上反转参数:
f = open(FILENAME , "w" )
应该修复它问题在于你的import语句,它说的是来自os import*的
,这意味着你正在从os
导入所有东西,不需要用os
作为后缀,现在它取代了python内置的open()
函数。因此,os.open()
取代了open()
。将导入语句更改为:
import os
然后
os.system('python3 ' + fileName)
这可能是不应该使用
from x import*
的一个很好的原因。问题是您的import语句说from os import*
,这意味着您正在从os
导入所有内容,不需要使用os
作为后缀,现在它取代了内置的open()
python的函数。因此,os.open()
取代了open()
。将导入语句更改为:
import os
然后
os.system('python3 ' + fileName)
这可能是一个很好的理由,为什么人们不应该使用
fromximport*
文件名模式!等待它仍然不起作用PaxDiableRead关于open()
的文档,并使用上下文管理器和
将open
替换为os。通过导入os
中的所有内容来打开。可能不是个好主意。谢谢,deceze很明显得到了它!等待它仍然不起作用PaxDiableRead关于open()
的文档,并使用上下文管理器和
将open
替换为os。通过导入os
中的所有内容来打开。可能不是个好主意。谢谢,deceze显然得到了它。我知道这真是太好了,但它说了另一个错误:TypeError:open()缺少必需的参数“flags”(pos 2)os。open
替换了默认的open()
,因为OPI的导入风格。我知道这真的是太好了,但它指出了另一个错误:TypeError:open()缺少必需的参数“flags”(位置2)os。open
替换了默认的open()
,因为opt的导入样式太晚了。。。我猜是迟来的谢谢。。。我猜