小编fin*_*oot的帖子

如何解析/读取YAML文件到Python对象?

如何解析/读取YAML文件到Python对象?

例如,这个YAML:

Person:
  name: XYZ
Run Code Online (Sandbox Code Playgroud)

对于这个Python类:

class Person(yaml.YAMLObject):
  yaml_tag = 'Person'

  def __init__(self, name):
    self.name = name
Run Code Online (Sandbox Code Playgroud)

我顺便使用PyYAML.

python parsing yaml

96
推荐指数
2
解决办法
15万
查看次数

virtualenvs应该在哪里创建?

我很困惑,我应该把我的virtualenvs放在哪里.

在我的第一个django项目中,我使用命令创建了项目

django-admin.py startproject djangoproject
Run Code Online (Sandbox Code Playgroud)

然后我进入djangoproject目录并运行命令

virtualenv env
Run Code Online (Sandbox Code Playgroud)

它创建了与内部djangoproject目录相同级别的虚拟环境目录.

这是为这个特定项目创建virtualenv的错误位置吗?

我得到的印象是,大多数人将所有的virtualenvs保存在一个完全不同的目录中,例如~/virtualenvs,然后使用virtualenvwrapper在它们之间来回切换.

有没有正确的方法来做到这一点?

python virtualenv virtualenvwrapper

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

使用Python读取YAML文件导致yaml.composer.ComposerError:期望流中的单个文档

我有一个看起来像的yaml文件

---
level_1: "test"
level_2: 'NetApp, SOFS, ZFS Creation'
request: 341570
---
level_1: "test"
level_2: 'NetApp, SOFS, ZFS Creation'
request: 341569
---
level_1: "test"
level_2: 'NetApp, SOFS, ZFS Creation'
request: 341568
Run Code Online (Sandbox Code Playgroud)

我可以使用YAML在Perl中正确读取此内容,但在使用YAML的python中无法正确读取.它失败并出现错误:

期望流中的单个文档

程序:

import yaml

stram = open("test", "r")
print yaml.load(stram)
Run Code Online (Sandbox Code Playgroud)

错误:

Traceback (most recent call last):
  File "abcd", line 4, in <module>
    print yaml.load(stram)
  File "/usr/local/pkgs/python-2.6.5/lib/python2.6/site-packages/yaml/__init__.py", line 58, in load
    return loader.get_single_data()
  File "/usr/local/pkgs/python-2.6.5/lib/python2.6/site-packages/yaml/constructor.py", line 42, in get_single_data
    node = self.get_single_node()
  File "/usr/local/pkgs/python-2.6.5/lib/python2.6/site-packages/yaml/composer.py", line 43, in get_single_node
    event.start_mark) …
Run Code Online (Sandbox Code Playgroud)

python yaml pyyaml

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

如何使用tkinter中的按钮设置`Entry`小部件的文本/值/内容

我正在尝试Entry使用tkinter模块使用GUI中的按钮设置窗口小部件的文本.

该GUI用于帮助我将数千个单词分为五类.每个类别都有一个按钮.我希望使用一个按钮会显着加快我的速度,我想每次都仔细检查这些单词,否则我只会使用按钮并让GUI处理当前单词并带来下一个单词.

由于某种原因,命令按钮的行为不像我想要的那样.这是一个例子:

win = Tk()

v = StringVar()
def setText(word):
    v.set(word)

a = Button(win, text="plant", command=setText("plant")
a.pack()
b = Button(win, text="animal", command=setText("animal"))
b.pack()
c = Entry(win, textvariable=v)
c.pack()
win.mainloop()
Run Code Online (Sandbox Code Playgroud)

到目前为止,当我能够编译时,点击什么都不做.

python events tkinter tkinter-entry

19
推荐指数
3
解决办法
10万
查看次数

如果参数完全吻合,为什么`curve_fit`不能估计参数的协方差?

我不明白curve_fit是不是能够估计参数的协方差,从而提高了OptimizeWarning下面的内容.以下MCVE解释了我的问题:

MCVE python片段

from scipy.optimize import curve_fit
func = lambda x, a: a * x
popt, pcov = curve_fit(f = func, xdata = [1], ydata = [1])
print(popt, pcov)
Run Code Online (Sandbox Code Playgroud)

产量

\python-3.4.4\lib\site-packages\scipy\optimize\minpack.py:715:
OptimizeWarning: Covariance of the parameters could not be estimated
category=OptimizeWarning)

[ 1.] [[ inf]]
Run Code Online (Sandbox Code Playgroud)

对于a = 1功能适合xdataydata准确.为什么不是错误/差异0,或接近0,inf而是?

curve_fitSciPy参考指南中有这样的引用:

如果解的雅可比矩阵没有满秩,那么'lm'方法返回一个填充np.inf的矩阵,另一方面'trf'和'dogbox'方法使用Moore-Penrose伪逆来计算协方差矩阵.

那么,潜在的问题是什么?为什么解决方案中的雅可比矩阵不具有满秩?

python numpy covariance curve-fitting scipy

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

使用Python读取YAML文件会导致AttributeError

我正在尝试创建一个脚本来备份MySQL数据库.我有一个config.yml文件:

DB_HOST :'localhost'
DB_USER : 'root'
DB_USER_PASSWORD:'P@$$w0rd'
DB_NAME : 'moodle_data'
BACKUP_PATH : '/var/lib/mysql/moodle_data'
Run Code Online (Sandbox Code Playgroud)

现在我需要阅读这个文件.到目前为止我的Python代码:

import yaml
config = yaml.load(open('config.yml'))
print(config.DB_NAME)
Run Code Online (Sandbox Code Playgroud)

这是出现的错误:

file "conf.py", line 4, in <module>
print(config.DB_NAME)
AttributeError: 'str' object has no attribute 'DB_NAME'
Run Code Online (Sandbox Code Playgroud)

有没有人知道我犯了哪个错误?

python yaml

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

如何使用Pandoc图像对齐将两个图像对齐在同一行?

从pandoc文档中我知道如何插入图像

http://johnmacfarlane.net/pandoc/README.html#images

现在我想在同一行中对齐两个图像,我该怎么做?我想要的输出格式是pdf.

image alignment pandoc

10
推荐指数
2
解决办法
9112
查看次数

Selenium请求的HTTP标头中缺少引荐来源

我正在用Selenium编写一些测试,并注意到,Referer标头中缺少该测试。我编写了以下最小示例,以使用https://httpbin.org/headers进行测试:

import selenium.webdriver

options = selenium.webdriver.FirefoxOptions()
options.add_argument('--headless')

profile = selenium.webdriver.FirefoxProfile()
profile.set_preference('devtools.jsonview.enabled', False)

driver = selenium.webdriver.Firefox(firefox_options=options, firefox_profile=profile)
wait = selenium.webdriver.support.ui.WebDriverWait(driver, 10)

driver.get('http://www.python.org')
assert 'Python' in driver.title

url = 'https://httpbin.org/headers'
driver.execute_script('window.location.href = "{}";'.format(url))
wait.until(lambda driver: driver.current_url == url)
print(driver.page_source)

driver.close()
Run Code Online (Sandbox Code Playgroud)

哪些打印:

<html><head><link rel="alternate stylesheet" type="text/css" href="resource://content-accessible/plaintext.css" title="Wrap Long Lines"></head><body><pre>{
  "headers": {
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", 
    "Accept-Encoding": "gzip, deflate, br", 
    "Accept-Language": "en-US,en;q=0.5", 
    "Connection": "close", 
    "Host": "httpbin.org", 
    "Upgrade-Insecure-Requests": "1", 
    "User-Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:64.0) Gecko/20100101 Firefox/64.0"
  }
}
</pre></body></html>
Run Code Online (Sandbox Code Playgroud)

所以没有 …

python testing http-referer selenium http-headers

10
推荐指数
1
解决办法
783
查看次数

ModuleNotFoundError:创建 TensorFlow 文档时没有名为“tensorflow_docs”的模块

我正在尝试遵循文档的贡献指南。所需的步骤是:

git clone https://github.com/tensorflow/tensorflow tensorflow
cd tensorflow/tensorflow/tools/docs 
pip install tensorflow==2.0.0-alpha0 
python generate2.py --output_dir=/tmp/out
Run Code Online (Sandbox Code Playgroud)

但是最后一个命令给了我:

回溯(最近一次调用):文件“generate2.py”,第 36 行,来自 tensorflow_docs.api_generator import doc_controls ModuleNotFoundError: No module named 'tensorflow_docs'

这是在第 36 行generate2.py

from tensorflow_docs.api_generator import doc_controls
Run Code Online (Sandbox Code Playgroud)

我还没有找到包含tensorflow_docs. 有任何想法吗?

python tensorflow

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

如何找出函数的(源代码)是否包含循环?

比方说,我有一堆的功能a,b,c,de我想看看他们是否直接使用一个循环:

def a():
    for i in range(3):
        print(i**2)

def b():
    i = 0
    while i < 3:
        print(i**2)
        i += 1

def c():
    print("\n".join([str(i**2) for i in range(3)]))

def d():
    print("\n".join(["0", "1", "4"]))

def e():
    "for"
Run Code Online (Sandbox Code Playgroud)

我想写一个函数,uses_loop所以我可以期望这些断言传递:

assert uses_loop(a) == True
assert uses_loop(b) == True
assert uses_loop(c) == False
assert uses_loop(d) == False
assert uses_loop(e) == False
Run Code Online (Sandbox Code Playgroud)

(我希望uses_loop(c)返回,False因为c使用列表解析而不是循环.)

我不能修改a,b …

python loops static-analysis abstract-syntax-tree inspect

9
推荐指数
1
解决办法
296
查看次数