GVKun编程网logo

_csv.Error:预期顺序[Python](python预期为语句结束)

13

此处将为大家介绍关于_csv.Error:预期顺序[Python]的详细内容,并且为您解答有关python预期为语句结束的相关问题,此外,我们还将为您介绍关于IndexError:列表索引超出范围-P

此处将为大家介绍关于_csv.Error:预期顺序[Python]的详细内容,并且为您解答有关python预期为语句结束的相关问题,此外,我们还将为您介绍关于IndexError:列表索引超出范围-Python CSV、IOError:[Errno 32]管道损坏:Python、PermissionError:[Errno 13]在python中、Pyinstaller:OSError:找不到 Python 库的有用信息。

本文目录一览:

_csv.Error:预期顺序[Python](python预期为语句结束)

_csv.Error:预期顺序[Python](python预期为语句结束)

这是我的全部代码:

import csvdef numbersOut():    for i in range (1, 1001):        out.writerow("%s" % (i+1, ))        out.writerow("\n")csvname = raw_input("Enter desired filename: ")headers = ["ID", "Student", "Grade"]out = csv.writer(open(csvname + ".csv","w"), delimiter='','', lineterminator=''\n'', quoting=csv.QUOTE_ALL)out.writerow(headers)out.writerow(numbersOut())

引发“预期序列”错误的部分是第14行,即这一行: out.writerow(numbersOut())

基本上,我想做的是使用该函数numbersOut()在CSV文件中放入1000行,每个行都有自己的ID(第1行(减去标题)将为​​1,第2行将为2,依此类推)。我设法通过使用范围将它们全部放在一行上,但这不是我所需要的。

但是,尝试使用我的函数时,我总是收到错误消息。我不确定这是我的调用方式是否有问题,或者函数本身是否存在问题。

有任何想法吗?如果需要澄清,请询问;我有一个没有多大意义的习惯。

提前致谢!

编辑:回溯,根据要求:

Traceback (most recent call last):  File "writer.py", line 14, in <module>   out.writerow(numbersOut())_csv.Error: sequence expected

答案1

小编典典

在Python中,如果某个函数没有返回就结束了,则假定它为return
None。您的numbersOut()功能没有return任何作用。所以,当你写

out.writerow(numbersOut())

你最终打电话来out.writerow(None)。这将给您看到的错误,因为None它不是一个序列,并且csv模块不知道如何将其写None为一行CSV数据。

我想你会过更好的声明numbersOut采取out作为参数:

def numbersOut(out):    for i in range (1, 1001):        out.writerow("%s" % (i+1, ))        out.writerow("\n")

然后使用

numbersOut(out)

我建议您进行其他几处更改。

如果只想向一行写入一个值,请替换该行

        out.writerow("%s" % (i+1, ))

        out.writerow(["%s" % (i+1, )])

(请注意已插入[])。
writerow取一个值序列并将每个值写到一个单独的逗号分隔的单元格中。如果传递单个字符串,则该字符串将被解释为字符序列,并且每个字符最终都位于其自己的单元格中。

其次,我建议删除该行out.writerow("\n")。当您使用编写一行时writerowcsv模块将为您输出行尾。您无需手动结束行。实际上,该行out.writerow("\n")最终在包含数字的每一行之间写入一个包含换行符的单元格。

IndexError:列表索引超出范围-Python CSV

IndexError:列表索引超出范围-Python CSV

我正在使用tweepy从Twitter提取10条推文,并将其存储在CSV中,以便稍后在前端网页上显示。我的代码每60分钟刷新一次,在某些时候,我会收到“
IndexError”。

以下是确切的错误:

返回ks [5]

IndexError:列表索引超出范围

以下是从CSV检索特定推文的功能:

def tweet6(self):
    with codecs.open('HELLOTWITTER.csv','r',encoding='utf-8',errors='ignore') as f:
        reader = csv.reader(f)
        d = {}
        for i,row in enumerate(reader):
            d[row[0]]=row[1:]
            if (i>=10):
                break    
    ks=list(d)
    return (ks[5])

尽管有时会出现此错误,但我无法弄清楚为什么会发生此错误,尽管每次刷新整个代码时CSV都会将所有10条tweet写入其中。同样,如果我再次运行代码,错误消失了,并且网页加载时没有任何鸣叫问题,令人惊讶!

我想念什么?任何帮助深表感谢!谢谢!

IOError:[Errno 32]管道损坏:Python

IOError:[Errno 32]管道损坏:Python

我有一个非常简单的Python 3脚本:

f1 = open('a.txt','r')
print(f1.readlines())
f2 = open('b.txt','r')
print(f2.readlines())
f3 = open('c.txt','r')
print(f3.readlines())
f4 = open('d.txt','r')
print(f4.readlines())
f1.close()
f2.close()
f3.close()
f4.close()

但它总是说:

IOError: [Errno 32] Broken pipe

我在网上看到了解决此问题的所有复杂方法,但是我直接复制了此代码,因此我认为代码有问题,而不是Python的SIGPIPE。

我正在重定向输出,因此,如果上面的脚本被命名为“ open.py”,那么我要运行的命令将是:

open.py | othercommand

PermissionError:[Errno 13]在python中

PermissionError:[Errno 13]在python中

刚开始学习一些python时,我遇到了如下问题:

a_file = open(''E:\Python Win7-64-AMD 3.3\Test'', encoding=''utf-8'')Traceback (most recent call last):  File "<pyshell#9>", line 1, in <module>    a_file = open(''E:\Python Win7-64-AMD 3.3\Test'', encoding=''utf-8'')PermissionError: [Errno 13] Permission denied: ''E:\\Python Win7-64-AMD 3.3\\Test\

似乎是文件许可错误,如果任何人都可以发光一点,将不胜感激。

注意:不确定Python和Windows文件如何工作,但是我以Admin身份登录Windows,并且该文件夹具有admin权限。

我试图更改.exe属性以管理员身份运行。

答案1

小编典典

做的时候

a_file = open(''E:\Python Win7-64-AMD 3.3\Test'', encoding=''utf-8'')

…您正在尝试以文件形式打开 目录 ,这可能会(并且在大多数非UNIX文件系统上会)失败。

但是您的另一个示例;

a_file = open(''E:\Python Win7-64-AMD 3.3\Test\a.txt'', encoding=''utf-8'')

如果您获得的许可,则应该可以正常运行a.txt。不过,您可能要使用原始(-r前缀)字符串,以确保您的路径中不包含任何转义字符,这样\n会将其转换为特殊字符。

a_file = open(r''E:\Python Win7-64-AMD 3.3\Test\a.txt'', encoding=''utf-8'')

Pyinstaller:OSError:找不到 Python 库

Pyinstaller:OSError:找不到 Python 库

如何解决Pyinstaller:OSError:找不到 Python 库?

我安装了 Python 3.9.6,但也通过 pyenv 安装了相同的版本,我将其设置为全局默认版本,因此当我运行此命令时,此处应显示的内容:pyinstaller --onefile main.py

OSError: Python library not found: python3,Python,libpython3.9.dylib,libpython3.9m.dylib,.Python
    This would mean your Python installation doesn''t come with proper library files.
    This usually happens by missing development package,or unsuitable build parameters of Python installation.

    * On Debian/Ubuntu,you would need to install Python development packages
      * apt-get install python3-dev
      * apt-get install python-dev
    * If you''re building Python by yourself,please rebuild your Python with `--enable-shared` (or,`--enable-framework` on Darwin)

作为我选择的(和默认的)Python 解释器 ~/.pyenv/versions/3.9.6/bin/python

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

我们今天的关于_csv.Error:预期顺序[Python]python预期为语句结束的分享就到这里,谢谢您的阅读,如果想了解更多关于IndexError:列表索引超出范围-Python CSV、IOError:[Errno 32]管道损坏:Python、PermissionError:[Errno 13]在python中、Pyinstaller:OSError:找不到 Python 库的相关信息,可以在本站进行搜索。

本文标签: