小编les*_*aul的帖子

如何在 Python 中将文本字符串编码为数字?

假设您有一个字符串:

mystring = "Welcome to the InterStar cafe, serving you since 2412!"
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种将该字符串转换为数字的方法,例如:

encoded_string = number_encode(mystring)

print(encoded_string)

08713091353153848093820430298
Run Code Online (Sandbox Code Playgroud)

..您可以转换回原始字符串。

decoded_string = number_decode(encoded_string)

print(decoded_string)

"Welcome to the InterStar cafe, serving you since 2412!"
Run Code Online (Sandbox Code Playgroud)

它不必是加密安全的,但无论它在什么计算机上运行,​​它都必须为相同的字符串输出相同的数字。

python python-3.x

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

在 Windows 64 位上安装 Cloud SQL 代理时出现问题

我正在尝试在 Windows 10 64 位操作系统上安装适用于 Google Cloud Platform 的 Cloud SQL 代理,以便我可以使用 Python 脚本将数据转储到 SQL 中。我正在按照本指南进行设置。

我从控制台创建了一个项目和一个 Google Cloud SQL 实例,没有任何问题,并且它显示在 SDK shell 中也没有任何问题。下载代理安装程序并安装后,会打开一个对话框窗口,然后在我可以阅读它之前关闭。

当我转到 Google Cloud SDK shell 并尝试使用以下命令启动 Cloud SQL 代理时:cloud_sql_proxy.exe -instances="[MyInstanceConnectionName]"=tcp:3306

无论我尝试多少次,它都会抛出错误“Cloud Sql Proxy 未被识别为内部或外部命令、可操作程序或批处理文件”。我已经尝试重新下载并重新执行该文件,但仍然无法正常工作。

我在 Windows 10 64 位上安装了带有 Anaconda 的 Python 3.6 和 Google Cloud SDK shell。

python database windows google-cloud-sql google-cloud-platform

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

尝试在 SQLAlchemy 上运行插入语句时出现编译错误

我正在编写的脚本从 API 请求新闻文章元数据。作为响应,它收到包含多篇新闻文章的结果页面。它的设计目的是一次处理一个记录,从 json 字典中提取数据字段并将它们插入到 postgres 中。

但是,当我运行插入操作时,该函数返回:

CompileError: Unconsumed column names: urlToImage, publishedAt
Run Code Online (Sandbox Code Playgroud)

如何让这个插入操作起作用?

任何帮助将不胜感激!

这是我的代码:

from sqlalchemy import MetaData # for getting table metadata
from sqlalchemy import Table # for interacting with tables
from sqlalchemy import create_engine # for creating db engine 
from sqlalchemy.dialects import postgresql
from sqlalchemy.dialects.postgresql import insert # for getting alterate query method to work

# Create DB engine
engine = create_engine('postgresql+psycopg2://{user}:{password}@{hostip}/{db}'.format(**dbkeys))


# Get metadata objects for tables in database
metadata = MetaData(engine, reflect=True)
nstream …
Run Code Online (Sandbox Code Playgroud)

python sql postgresql sqlalchemy

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

importlib.reload() 不会将文件重新加载到 ipython 笔记本中

我有一个在 Jupyter Lab 中运行的 ipython 笔记本。它正在运行一个函数,该函数使用我创建的名为“Myfile.py”的外部模块中的变量。

Myfile.py 包括一些最初定义的变量,如下所示:

Myterms = ['honda accord', 'ferrari', 'mazerati', 'dodge dumpster']
Run Code Online (Sandbox Code Playgroud)

我对中的Myterms列表进行了一些编辑Myfile.py,然后将更改保存到文件中。

Myterms = ['Nissan Leaf', 'Tesla Roadster']
Run Code Online (Sandbox Code Playgroud)

我想要做的是将Myterms列表重新加载Myfile.py到笔记本中,这样当我调用列表中的变量时,它们会反映所做的更改。

我一直在使用此示例中的代码版本:

import myfile
import importlib

def reloader(myfile):
    importlib.reload(myfile)
    from myfile import Myterms

reloader(myfile)

print(Myterms)
Run Code Online (Sandbox Code Playgroud)

但该行print(myterms)仍然打印出来

['honda accord', 'ferrari', 'mazerati', 'dodge dumpster']
Run Code Online (Sandbox Code Playgroud)

更新:出于某种原因,旧Myterms列表似乎在内存中徘徊,尽管具有该importlib.reload功能,但并未被覆盖。在做了更多研究之后,这个答案可能会提供一些关于原因的线索,但我找不到解决方法。

python ipython python-importlib jupyter-notebook jupyter-lab

2
推荐指数
1
解决办法
2182
查看次数

如何在python中读取外部文件中特定范围的行?

假设您有一个包含 50 行代码的 python 文件,并且您想将特定范围的行读入一个列表。如果你想阅读文件中的所有行,你可以使用这个答案中的代码:

with open('yourfile.py') as f:
    content = f.readlines()

print(content)
Run Code Online (Sandbox Code Playgroud)

但是,如果您想阅读特定范围的行,例如阅读第 23-27 行,该怎么办?

我试过这个,但它不起作用:

f.readlines(23:27)
Run Code Online (Sandbox Code Playgroud)

python python-3.x

2
推荐指数
1
解决办法
2119
查看次数