在问这个问题时,我意识到我对原始字符串知之甚少.对于那些自称是Django训练师的人来说,这很糟糕.
我知道编码是什么,而且我知道u''自从我得到什么是Unicode以来我们独自做了什么.
但到底r''做了什么呢?它会产生什么样的字符串?
And above all, what the heck does ur'' do?
Finally, is there any reliable way to go back from a Unicode string to a simple raw string?
Ah, and by the way, if your system and your text editor charset are set to UTF-8, does u'' actually do anything?
我正在使用PostgreSQL,SQLAlchemy和GeoAlchemy2库在数据库中存储一些地理空间坐标。
我使用 Python 在数据库中定义数据库列,如下所示:
import sqlalchemy as sa
import geoalchemy2 as ga
geo = sa.Column(ga.Geography('POINT', srid=4326)) # 4326 = WGS84 Lat Long
Run Code Online (Sandbox Code Playgroud)
我可以通过如下转换来添加地理坐标:
self.geo = 'POINT({} {})'.format(latitude, longitude)
Run Code Online (Sandbox Code Playgroud)
这将其编码为字符串,如下所示:0100002076ED....
我的问题是:如何从 python 中将此字符串转换回纬度和经度?
许多编程语言的标准库包括"扫描仪API",用于从文本输入流中提取字符串,数字或其他对象.(例如,Java包括Scanner类,C++包含istream,C包括scanf).
Python中的等价物是什么?
Python有一个流接口,即继承自的类io.IOBase.但是,Python TextIOBase流接口仅提供面向行的输入设施.在阅读文档并在Google上搜索之后,我找不到标准Python模块中的某些东西,例如,它可以从文本流中提取整数,或者将下一个以空格分隔的单词作为字符串提取.有没有标准设施可以做到这一点?
我有一些效果很好的C代码:
#include<stdio.h>
#include<stdlib.h>
int main()
{
FILE *fp;
struct emp
{
char name[40];
int age;
float bs;
};
struct emp e;
fp=fopen("EMPLOYEE.DAT","r");
if(fp==NULL)
{
puts("Cannot open file";
exit(1);
}
while(fscanf(f,"%s %d %f",&e.name,&e.age,&e.bs)!=EOF)
printf("%s %d %f\n",e.name,e.age,e.bs);
fclose(fp);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
里面的数据EMPLOYEE.DAT:
Sunil 34 1250.50
Sameer 21 1300.50
rahul 34 1400.50
Run Code Online (Sandbox Code Playgroud)
我在将此代码转换为Python时遇到问题:
while(fscanf(f,"%s %d %f",&e.name,&e.age,&e.bs)!=EOF)
printf("%s %d %f\n",e.name,e.age,e.bs);
Run Code Online (Sandbox Code Playgroud)
有没有办法在Python中实现它?此外,什么是Pythonic的替代品exit()&EOF?
Python中是否有任何方法可以反转通过"%"运算符完成的格式化操作?
formated = "%d ooo%s" % (12, "ps")
#formated is now '12 ooops'
(arg1, arg2) = theFunctionImSeeking("12 ooops", "%d ooo%s")
#arg1 is 12 and arg2 is "ps"
Run Code Online (Sandbox Code Playgroud)
编辑 Regexp可以解决这个问题,但是它们更难写,我怀疑它们更慢,因为它们可以处理更复杂的结构.我真的很喜欢sscanf.
[[{"date":"January 2004"},true,false,100,null,null,true],[{"date":"February 2004"},false,false,99,null,null,true]]
Run Code Online (Sandbox Code Playgroud)
我有一长串来自javascript文件的数据,如上所述.是否有快捷方式或库可以将其解析为适当的数据类型?
如您所见,它是包含字典,布尔值,整数和空值的列表列表.
我的意思是,我可以手工做到这一点,但我认为我不能很快或有效地做到这一点.必须有一个更好的方法.
我正在尝试解决 SPOJ 的问题。为此,我需要能够从 stdin 读取输入,我使用 scanf 在 C 中遇到了很多问题,但也想尝试使用 Python。如何读取 Python 中的 stdin 输入?(想使用Python 2.6/2.7)
python ×7
c ×2
geoalchemy2 ×1
postgis ×1
postgresql ×1
python-2.7 ×1
python-2.x ×1
python-3.x ×1
rawstring ×1
scanf ×1
sqlalchemy ×1
stream ×1
unicode ×1