相关疑难解决方法(0)

如果文件不存在,Python中的open()不会创建文件

打开文件作为读/写(如果存在)或不存在的最佳方法是什么,然后创建它并将其作为读/写打开?从我读到的,file = open('myfile.dat', 'rw')应该这样做,对吧?

它不适合我(Python 2.6.2),我想知道它是否是一个版本问题,或者不应该像那样或什么工作.

最重要的是,我只需要解决问题的方法.我很好奇其他的东西,但我需要的只是一个很好的方式来做开场部分.

更新:封闭目录可由用户和组写入,而不是其他(我在Linux系统上...所以权限775换句话说),确切的错误是:

IOError:没有这样的文件或目录.

python linux file-io file-permissions

607
推荐指数
13
解决办法
76万
查看次数

在Python源代码中使用utf-8编码

$ cat bla.py 
u = unicode('d…')
s = u.encode('utf-8')
print s
$ python bla.py 
  File "bla.py", line 1
SyntaxError: Non-ASCII character '\xe2' in file bla.py on line 1, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
Run Code Online (Sandbox Code Playgroud)

如何在源代码中声明utf-8字符串?

python encoding utf-8 character-encoding

404
推荐指数
2
解决办法
82万
查看次数

SyntaxError:函数返回'£'时文件中的非ASCII字符'\ xa3'

说我有一个功能:

def NewFunction():
    return '£'
Run Code Online (Sandbox Code Playgroud)

我想在它前面打一些带有井号的东西,当我尝试运行这个程序时它会输出错误,显示以下错误信息:

SyntaxError: Non-ASCII character '\xa3' in file 'blah' but no encoding declared;
see http://www.python.org/peps/pep-0263.html for details
Run Code Online (Sandbox Code Playgroud)

谁能告诉我如何在返回功能中加入英镑符号?我基本上是在课堂上使用它,它'__str__'包含在包含英镑符号的部分内.

python unicode python-unicode

265
推荐指数
6
解决办法
34万
查看次数

它来自哪里: - * - 编码:utf-8 - * -

Python将以下内容识别为定义文件编码的指令:

# -*- coding: utf-8 -*-
Run Code Online (Sandbox Code Playgroud)

我确实在(-*- var: value -*-)之前看过这种指令.它从何而来?什么是完整的规范,例如,值可以包括空格,特殊符号,换行符,甚至-*-本身?

我的程序将编写纯文本文件,我想使用这种格式在其中包含一些元数据.

python emacs encoding text file

123
推荐指数
3
解决办法
8万
查看次数

非ASCII字符的SyntaxError

我试图解析包含一些非ASCII cheracter的xml,

代码如下所示

from lxml import etree
from lxml import objectify
content = u'<?xml version="1.0" encoding="utf-8"?><div>Order date                            : 05/08/2013 12:24:28</div>'
mail.replace('\xa0',' ')
xml = etree.fromstring(mail)
Run Code Online (Sandbox Code Playgroud)

但它显示我在'content = ...'这一行上的错误

syntaxError: Non-ASCII character '\xc2' in file /home/projects/ztest/responce.py on line 3, 
but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
Run Code Online (Sandbox Code Playgroud)

在终端它正在工作,但在eclipse IDE上运行它给了我一个错误.

不知道如何克服..

python encoding lxml non-ascii-characters xml-parsing

89
推荐指数
1
解决办法
16万
查看次数

从Unicode字符串中正确提取Emojis

我在Python 2中工作,我有一个包含emojis以及其他unicode字符的字符串.我需要将其转换为列表,其中列表中的每个条目都是单个字符/表情符号.

x = u'xyz'
char_list = [c for c in x]
Run Code Online (Sandbox Code Playgroud)

所需的输出是:

['', '', 'x', 'y', 'z', '', '']
Run Code Online (Sandbox Code Playgroud)

实际输出是:

[u'\ud83d', u'\ude18', u'\ud83d', u'\ude18', u'x', u'y', u'z', u'\ud83d', u'\ude0a', u'\ud83d', u'\ude0a']
Run Code Online (Sandbox Code Playgroud)

如何实现所需的输出?

python unicode python-2.x emoji

21
推荐指数
2
解决办法
5512
查看次数

Python SyntaxError:文件中的非ASCII字符'\ xe2'

我刚刚使用在Python 3下运行Django App到使用Python 2.7.我现在得到这个错误:

SyntaxError: Non-ASCII character '\xe2' in file /Users/user/Documents/workspace/testpro/testpro/apps/common/models/vendor.py on line 9, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
Run Code Online (Sandbox Code Playgroud)

它所指的代码只是一个评论:

class Vendor(BaseModel):
    """
    A company manages owns one of more stores.?
    """
    name = models.CharField(max_length=255)


    def __unicode__(self):
        return self.name
Run Code Online (Sandbox Code Playgroud)

为什么?

这有效:

 class Vendor(BaseModel):
        """

        """
        name = models.CharField(max_length=255)


        def __unicode__(self):
            return self.name
Run Code Online (Sandbox Code Playgroud)

python django

7
推荐指数
1
解决办法
1万
查看次数

在python中定义shebang和编码

之间有区别吗

(a)用shebang定义编码

#!/usr/bin/env python -*- coding: utf-8 -*-
Run Code Online (Sandbox Code Playgroud)

(b)在单独的行上定义 shebang 和编码

#!/usr/bin/env python 
#-*- coding: utf-8 -*-
Run Code Online (Sandbox Code Playgroud)

python encoding env shebang

6
推荐指数
0
解决办法
6603
查看次数

ruby的正确utf-8编码注释行是什么?

可能重复:
Ruby - UTF-8文件编码

我一直在使用UTF-8,并希望帮助ruby解释器读取我的文件.因此我把# encoding=utf-8ruby代码的开头放在这样的:

#!/usr/bin/env ruby
# encoding=utf-8
Run Code Online (Sandbox Code Playgroud)

但偶尔,我会看到其他变体: bundle gem NAMEinsert # -*- encoding: utf-8 -*-(进入NAME.gemspec).gem magic_encoding也使用这一行.

推荐的方式是什么?

  • # encoding = utf-8
  • # encoding: utf-8
  • # -*- encoding: utf-8 -*-

ruby unicode encoding utf-8

4
推荐指数
1
解决办法
1472
查看次数

App Engine中的Python unicode字符串操作失败

在开发/本地计算机上运行的Python代码,但在安装到Appengine后失败:

我文件中的第一行:

# -*- coding: utf8 -*-O
Run Code Online (Sandbox Code Playgroud)

代码后面的行:

s1 = u'Ismer?seid'
logging.info (s1)
s2 = s1 + u':' + s1
logging.info (s2)
logging.info ("%s,%s", s1, s2)
Run Code Online (Sandbox Code Playgroud)

在Dev(localhost)中:

INFO     2012-12-18 04:01:17,926 AppRun.py:662] Ismer?seid,
INFO     2012-12-18 04:01:17,926 AppRun.py:664] Ismer?seid:Ismer?seid
INFO     2012-12-18 04:01:17,926 AppRun.py:665] Ismer?seid,Ismer?seid. Ó,
Run Code Online (Sandbox Code Playgroud)

安装/运行后在App Engine上:

I 2012-12-21 06:52:07.730 
É, Á, Ö, Ü. Ó,

E 2012-12-21 06:52:07.736

Traceback (most recent call last):
  File "....", line 672, in xxxx
    s3 = s1 + u':' + s1
UnicodeDecodeError: 'ascii' codec can't decode byte …
Run Code Online (Sandbox Code Playgroud)

google-app-engine character-encoding python-2.7

4
推荐指数
1
解决办法
1053
查看次数

我在Python中的第一步

我正在尝试开始学习Python,但是从第一步开始我感到困惑.我开始使用Hello, World,但是当我尝试运行脚本时,我得到:

语法错误:非UTF-8代码以第5行\xe9文件中的' ' 开头C:\Documents and Settings\Home\workspace\Yassine frist stared\src\firstModule.py但未声明编码; 有关详细信息,请参阅http://python.org/dev/peps/pep-0263/.

python

4
推荐指数
1
解决办法
1万
查看次数

Python3 utf-8 解码问题

以下代码在我的 Windows 机器上使用 Python3 运行良好,并打印字符“é”:

data = b"\xc3\xa9"

print(data.decode('utf-8'))
Run Code Online (Sandbox Code Playgroud)

但是,在基于 Ubuntu 的 docker 容器上运行相同的结果:

UnicodeEncodeError: 'ascii' codec can't encode character '\xe9' in position 0: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)

是否需要安装任何东西才能启用 utf-8 解码?

python linux windows utf-8 python-3.x

4
推荐指数
1
解决办法
5691
查看次数

在Python中定义unicode变量

最近,我一直在阅读Python源代码编码,尤其是PEP 263PEP 3120.

我有以下代码:

# coding:utf-8

s = 'abc?´ƒ©'
ƒ = 'My name is'
ß = '?ß?ˆ†ˆ? ßå®åø©ˆ'
print('s =', s)
print('ƒ =', ƒ, 'ß =', ß)
Run Code Online (Sandbox Code Playgroud)

此代码适用于Python3,但SyntaxError在Python2.7中生成.
我知道这可能与源代码编码无关.
所以,我想知道是否有办法在Python2中支持Unicode变量名.

总而言之,我也很难弄清楚PEP究竟要解决的实际问题以及我如何(以及在​​何处)利用所提出的解决方案.我已经阅读了相同的讨论,但他们没有提出我的问题的答案,而是对正确语法的解释:

python unicode encoding python-2.7 python-3.5

3
推荐指数
1
解决办法
572
查看次数