Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python中的CSV写入错误_Python_Csv_Tkinter - Fatal编程技术网

Python中的CSV写入错误

Python中的CSV写入错误,python,csv,tkinter,Python,Csv,Tkinter,我有以下代码: def saveFile(self, master = None): f = asksaveasfile(mode='w',defaultextension='.csv') if f is None: # asksaveasfile returns `None` if dialog closed with "cancel". return f.close() cords2save = globalCords # coordinate

我有以下代码:

def saveFile(self, master = None):
    f = asksaveasfile(mode='w',defaultextension='.csv')
    if f is None: # asksaveasfile returns `None` if dialog closed with "cancel".
        return
    f.close()
    cords2save = globalCords # coordinates from another csv file
    csvOpen = open(f, 'w')
    w = csv.writer(fp)
    w.writerow(cords2save)
当我运行此命令时,我得到:

Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Users\Jem\AppData\Local\Programs\Python\Python35-     32\lib\tkinter\__init__.py", line 1550, in __call__
return self.func(*args)
File "C:\Users\Jem\Documents\bbk\1FINisd\LineSimplification.py", line 143, in saveFile
csvOpen = open(f, 'w')
TypeError: invalid file: <_io.TextIOWrapper     name='C:/Users/Jem/Documents/bbk/1FINisd/ard.csv' mode='w' encoding='cp1252'>
Tkinter回调中出现异常 回溯(最近一次呼叫最后一次): 文件“C:\Users\Jem\AppData\Local\Programs\Python\Python35-32\lib\tkinter\\ uuuuuu init\uuuuuu.py”,第1550行,在调用中__ 返回self.func(*args) 保存文件中第143行的文件“C:\Users\Jem\Documents\bbk\1FINisd\linesimplify.py” csvOpen=打开(f,'w') TypeError:无效文件: 我真的被其他线程解决方案卡住了——我做错了什么

谢谢

asksaveasfile
返回文件对象。然后尝试对该文件对象调用
open
。但是
open
不需要文件,它需要文件名

尝试改用
asksaveasfilename

def saveFile(self, master = None):
    filename = asksaveasfilename(mode='w',defaultextension='.csv')
    if not filename:
        return
    with open(filename, 'w') as file:
        w = csv.writer(file)
        w.writerow(globalCords)
或者,继续使用
asksaveasfile
,但不要关闭文件,也不要尝试打开新文件

def saveFile(self, master = None):
    f = asksaveasfile(mode='w',defaultextension='.csv')
    if not f:
        return
    w = csv.writer(f)
    w.writerow(globalCords)
    f.close()
asksaveasfile
返回文件对象。然后尝试对该文件对象调用
open
。但是
open
不需要文件,它需要文件名

尝试改用
asksaveasfilename

def saveFile(self, master = None):
    filename = asksaveasfilename(mode='w',defaultextension='.csv')
    if not filename:
        return
    with open(filename, 'w') as file:
        w = csv.writer(file)
        w.writerow(globalCords)
或者,继续使用
asksaveasfile
,但不要关闭文件,也不要尝试打开新文件

def saveFile(self, master = None):
    f = asksaveasfile(mode='w',defaultextension='.csv')
    if not f:
        return
    w = csv.writer(f)
    w.writerow(globalCords)
    f.close()

您在最后一行中要传递到的
fp
是什么?在最后一行中要传递到的
fp
是什么?