小编Jas*_*ine的帖子

'\ r':找不到命令 - .bashrc/.bash_profile

我有窗口,使用Cygwin,试图JAVA_HOME永久设置我的.bashrc文件.

.bashrc中:

export PATH="$JAVA_HOME/bin:$PATH"  
export JAVA_HOME=$JAVA_HOME:"/cygdrive/c/Program Files (x86)/Java/jdk1.7.0_05"
Run Code Online (Sandbox Code Playgroud)

.bash_profile文件:

if [ -f ~/.bashrc ]; then
   source ~/.bashrc
fi
Run Code Online (Sandbox Code Playgroud)

运行cygwin:

-bash: $'\377\376if': command not found
-bash: $'then\r': command not found
: No such file or directorysu//.bashrc
-bash: /cygdrive/c/Users/jhsu//.bash_profile: line 3: syntax error near unexpected token `fi'
-bash: /cygdrive/c/Users/jhsu//.bash_profile: line 3: `fi'
Run Code Online (Sandbox Code Playgroud)

我不确定我是从一个专门针对另一个系统的教程中获取命令,还是我错过了一个步骤.或者空格导致我的命令无法正常运行.

我已经查看了多个类似的问题,但我没有找到一个问题确切存在我的错误.


我的家乡之路:

$ echo $HOME
/cygdrive/c/Users/jhsu
$ echo ~
/cygdrive/c/Users/jhsu/
Run Code Online (Sandbox Code Playgroud)

所以我认为文件应该放在正确的位置.

bash shell cygwin newline

265
推荐指数
12
解决办法
27万
查看次数

AWS S3的Sklearn Joblib加载功能IO错误

我正在尝试从sklearn-learn加载我的分类器的pkl转储。

对于我的对象,joblib转储的压缩效果比cPickle转储的压缩效果好得多,因此我希望坚持使用它。但是,尝试从AWS S3读取对象时出现错误。

情况:

  • 本地托管的PKL对象:pickle.load有效,joblib.load有效
  • 使用应用程序将Pkl对象推送到Heroku(从静态文件夹加载):pickle.load有效,joblib.load有效
  • 将pkl对象推送到S3:pickle.load有效,joblib.load返回IOError。(通过heroku应用进行测试,并通过本地脚本进行测试)

请注意,joblib和pickle的pkl对象是使用各自方法转储的不同对象。(即joblib仅加载joblib.dump(obj),而pickle仅加载cPickle.dump(obj)。

Joblib vs cPickle代码

# case 2, this works for joblib, object pushed to heroku
resources_dir = os.getcwd() + "/static/res/" # main resource directory
input = joblib.load(resources_dir + 'classifier.pkl')

# case 3, this does not work for joblib, object hosted on s3
aws_app_assets = "https://%s.s3.amazonaws.com/static/res/" % keys.AWS_BUCKET_NAME
classifier_url_s3 = aws_app_assets + 'classifier.pkl'

# does not work with raw url, IO Error
classifier = joblib.load(classifier_url_s3)

# urrllib2, can't open instance
# TypeError: coercing to …
Run Code Online (Sandbox Code Playgroud)

python amazon-s3 pickle scikit-learn joblib

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

从此XML文件中提取数据的最有效方法

XML文件示例

<GateDocument> 
  <GateDocumentFeatures>
    ...
  </GateDocumentFeatures>
  <TextWithNodes>
    <Node id="0"/>
    MESSAGE SET
    <Node id="19"/> 
    <Node id="20"/>
    1. 1/1/09 - sample text 1
    <Node id="212"/>
    sample text 2
    <Node id="223"/>
    sample text 3
    ...
    <Node id="160652"/>
  </TextWithNodes>
  <AnnotationSet></AnnotationSet>
  <AnnotationSet Name="SomeName">
    ...
  </AnnotationSet>
</GateDocument>
Run Code Online (Sandbox Code Playgroud)

刚开始,这是我第一次用Python编写代码并处理XML,很抱歉,如果我错过了非常明显的事情!

我的目标是在特定节点ID处提取示例文本.

第一次尝试 - 我使用了minidom,因为这个没有给我正确的方法来处理提取(http://stackoverflow.com/questions/11122736/extracting-text-from-xml-node-with-minidom)自闭标签中节点ID的奇怪格式.

第二次尝试 - 我在查看lxml时接受了建议,我已成功将文本提取为以下内容:

['\n\t\t','n\t\tMESSAGE SET\n\t\t','\n\t\t','\n\t\t1. 1/1/09 - sample text 1,....,'\n\t']
Run Code Online (Sandbox Code Playgroud)

通过一些清理,我认为我可以使文本正常,但是,我丢失了相关的节点id值.

用代码:

from lxml import etree
from StringIO import StringIO
xmlfile = ('C:\...AnnotationsXML.xml')
xmldoc = etree.parse(xmlfile)  
print xmldoc.xpath("//TextWithNodes/text()")
Run Code Online (Sandbox Code Playgroud)

所以我想我的问题是:

  1. 有没有办法在没有\n\t\t的情况下提取上述内容?我读到它是空间格式化(即标签),但我不知道它<Node id = 0>去了哪里. …

python xml parsing lxml elementtree

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

标签 统计

python ×2

amazon-s3 ×1

bash ×1

cygwin ×1

elementtree ×1

joblib ×1

lxml ×1

newline ×1

parsing ×1

pickle ×1

scikit-learn ×1

shell ×1

xml ×1