如何解析/读取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.
我很困惑,我应该把我的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在它们之间来回切换.
有没有正确的方法来做到这一点?
我有一个看起来像的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) 我正在尝试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)
到目前为止,当我能够编译时,点击什么都不做.
我不明白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功能适合xdata和ydata准确.为什么不是错误/差异0,或接近0,inf而是?
curve_fitSciPy参考指南中有这样的引用:
如果解的雅可比矩阵没有满秩,那么'lm'方法返回一个填充np.inf的矩阵,另一方面'trf'和'dogbox'方法使用Moore-Penrose伪逆来计算协方差矩阵.
那么,潜在的问题是什么?为什么解决方案中的雅可比矩阵不具有满秩?
我正在尝试创建一个脚本来备份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)
有没有人知道我犯了哪个错误?
从pandoc文档中我知道如何插入图像
http://johnmacfarlane.net/pandoc/README.html#images
现在我想在同一行中对齐两个图像,我该怎么做?我想要的输出格式是pdf.
我正在用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)
所以没有 …
我正在尝试遵循文档的贡献指南。所需的步骤是:
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. 有任何想法吗?
比方说,我有一堆的功能a,b,c,d和e我想看看他们是否直接使用一个循环:
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 ×9
yaml ×3
alignment ×1
covariance ×1
events ×1
http-headers ×1
http-referer ×1
image ×1
inspect ×1
loops ×1
numpy ×1
pandoc ×1
parsing ×1
pyyaml ×1
scipy ×1
selenium ×1
tensorflow ×1
testing ×1
tkinter ×1
virtualenv ×1