其中' - '表示负x,'&'表示按位AND.
这些数字在程序中是8位2的补码,我似乎无法找到输入和输出之间的相关性.
8 & (-8) = 8
7 & (-7) = 1
97 & (-97) = 1
Run Code Online (Sandbox Code Playgroud)
所以可能重要的是位操作?
0000 1000 & (1111 1000) = 0000 1000
0000 0111 & (1111 1001) = 0000 0001
0110 0001 & (1001 1111) = 0000 0001
Run Code Online (Sandbox Code Playgroud)
在上述每种情况下,高4位总是最终为0,但我找不到输入之间的相关性以及低4位最终的结果.
有任何想法吗?
解答: 找到最低设置位
由于导入问题,我已按照此处显示的步骤将我的 Python 项目安装为可编辑pip包。基本上这需要pip install -e .从我的项目根目录运行。项目名称为“myproject”,setup.py配置如下:
from setuptools import setup, find_packages
setup(name='myproject', version='1.0', packages=find_packages())
Run Code Online (Sandbox Code Playgroud)
项目结构是这样的:
.
??? myproject
? ??? core
? ? ??? core.py
? ? ??? __init__.py
? ??? tests
? ??? __init__.py
? ??? test_one.py
??? setup.py
??? env
??? ...
Run Code Online (Sandbox Code Playgroud)
随着venv启动,我得到下面的输出:
(env) [root@localhost /]$ python -V
Python 3.6.3
(env) [root@localhost /]$ pip -V
pip 9.0.1 from /myproject/venv/lib64/python3.6/site-packages (python 3.6)
Run Code Online (Sandbox Code Playgroud)
但是,在运行解释会话时,我会遇到以下情况:
(env) [root@localhost /]$ python
>>> import …Run Code Online (Sandbox Code Playgroud) 我的目标:在 Gitlab 中发出合并请求时,随时运行 Python 测试。
问题:整个回归花费的时间太长,所以我想根据配置的某个级别运行特定的测试子集。这需要我以某种方式通过 Gitlab 将“参数”传递给每个合并请求的 Jenkins。在评论中说“test/api”或类似的东西?
到目前为止,我唯一的想法是可能有一个文件与提交一起推送,Jenkins 在运行其作业时可以查看该文件。这是一种方法,但我觉得必须有更好的方法,而且我的搜索没有产生任何结果。
目前,我有通过套接字连接接收对象的Python 2.7代码。<str>在整个代码中,我们使用<str>对象、比较等。为了转换为Python 3,我发现套接字连接现在返回<bytes>对象,这要求我们更改所有文字,就像b'abc'进行文字比较等。这是虽然Python 3中进行此更改的原因很明显,但我很好奇是否有任何更简单的解决方法。
假设我<bytes> b'\\xf2a27'通过套接字连接接收。有没有一种简单的方法可以将它们转换<bytes>为在Python 3.6<str>中具有相同转义的对象?我自己研究了一些解决方案但无济于事。
a = b'\\xf2a27'.decode('utf-8', errors='backslashescape')\nRun Code Online (Sandbox Code Playgroud)\n\n上面的结果'\\\\xf2a27'是 withlen(a) = 7而不是原来的len(b'\\xf2a27') = 3. 索引也是错误的,这行不通,但看起来它正走在正确的道路上。
a = b'\\xf2a27'.decode('latin1')\nRun Code Online (Sandbox Code Playgroud)\n\n上面的结果'\xc3\xb2a27'包含我想避免的 Unicode 字符。虽然在这种情况下len(a) = 5,比较就像a[0] == '\\xf2'工作,但如果可能的话,我想在表示中保留信息转义。
我是否缺少更优雅的解决方案?
\n我构建了一个容器:
> cat Dockerfile
FROM fedora:latest
USER root
RUN dnf update -y && \
dnf clean all && \
dnf autoremove
> docker build -t dev .
> docker run -t -d <container_id>
> docker exec -it <container_id> /bin/bash
$ dnf install -y which
$ which find
which: no find in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin)
Run Code Online (Sandbox Code Playgroud)
到目前为止,我使用过的每个 Linux 发行版都已find预安装,因此我不完全确定在这里要做什么。
快速谷歌搜索会产生有关如何使用的 find结果,或者为什么在脚本中使用时找不到它bash等。但无论我使用什么关键字,我似乎都找不到以前遇到过这个问题的人。
dnf search find显示没有结果,但也许它是用另一个名字?或者我必须自己编译一些东西?
在MySQL中运行一组插入语句时,我一直在获取Error Code: 1264. Out of range value for column 'x' at row 1。列类型设置为,float(10, 10)并且列范围内的值都在范围23.912 to 26.458之内。我完全不知道为什么会收到此错误。
我有一个 CSV 文件,看起来像这样:
Date,Person,Time Out,Time Back,Restaurant,Calories,Delicious?
6/20/2016,August,11:58,12:45,Black Bear,850,Y
6/20/2016,Marcellus,12:00,12:30,Brought Lunch,,Y
6/20/2016,Jessica,11:30,12:30,Wendy's,815,N
6/21/2016,August,12:05,1:01,Brought Lunch,,Y
Run Code Online (Sandbox Code Playgroud)
到目前为止,我已经成功地将每一行打印到字符串列表中(例如 - ['Date', 'Person', 'Time Out', etc.] or ['6/20/2016', 'August', '11:58' etc.])。
现在我还需要做两件事:
['ID', 'Date',
'Person', etc.] and ['1', '6/20/2016', 'August', etc.])INSERT INTO Table ['ID', 'Date', 'Person', etc.] VALUES ['1', '6/20/2016', 'August', etc.])这是让我到目前为止的代码:
import csv
openFile = open('test.csv', 'r')
csvFile = csv.reader(openFile)
for row in csvFile:
print (row)
openFile.close()
Run Code Online (Sandbox Code Playgroud) 下面的查询是我试图运行的PL/SQL的简化版本,它只显示了一般结构.简而言之,我试图从SPECIAL_TABLE变量中提取信息c, d.
DECLARE
c NUMBER;
d NUMBER;
BEGIN
FOR all_tab IN
(SELECT * FROM all_tables)
LOOP
BEGIN
EXECUTE IMMEDIATE 'SELECT a, d INTO c, d
FROM ' || :name || '.SPECIAL_TABLE WHERE name = '''
:name || ''' AND table_name = ''' || all_tab.table_name || ''';
...
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('ERROR OCCURRED');
END;
END;
Run Code Online (Sandbox Code Playgroud)
上面的查询不起作用(通过上面的查询我的意思是EXECUTE IMMEDIATE),而Oracle声明905 missing keyword.据我所知,遵循这里的流程.注意,'''这样我可以'为SELECT语句转义单个,然后一起完成整个字符串.有什么奇怪的,我可以按照下面的代码进行操作,没有错误:
DECLARE
c NUMBER;
d NUMBER; …Run Code Online (Sandbox Code Playgroud) 我有一些.csv文件包含NULL在表中被视为空的值.例如:
ID Volts Current Watts
0 383 0
1 383 1 383
2 382 2 764
Run Code Online (Sandbox Code Playgroud)
此.csv文件输入到我的程序中并转换为如下列表:
with open(inputPath + file) as inFile:
csvFile = csv.reader(inFile)
for row in csvFile:
removeNull(row)
print(row)
Run Code Online (Sandbox Code Playgroud)
它基本上将每一行放入csvFile并将其转换为值列表,如下所示:
['0', '383', '', '0'],['1', '383', '1', '383]等等.
请注意,这些NULL值现在只是空字符串''.
然后关于上面程序的snipet removeNull()定义为:
def removeNull(row):
nullIndex = row.index('')
row.remove('')
newRow = row.insert(nullIndex, '0')
return newRow
Run Code Online (Sandbox Code Playgroud)
通过列表(aka行)查找空字符串'',并将其索引记录为nullIndex.然后删除所述索引处的空字符串,将其替换为'0'并返回编辑后的列表.
问题:我的 …
python ×5
python-3.x ×3
csv ×2
mysql ×2
string ×2
bash ×1
bit ×1
bitwise-and ×1
containers ×1
dnf ×1
dynamic-sql ×1
fedora ×1
find ×1
gitlab ×1
jenkins ×1
null ×1
oracle ×1
oracle11g ×1
package ×1
pip ×1
plsql ×1
python-2.7 ×1
python-venv ×1
sql ×1
sql-insert ×1
unicode ×1