相关疑难解决方法(0)

适用于Python脚本的shebang

我通常在我的Python脚本中使用以下shebang声明:

#!/usr/bin/python
Run Code Online (Sandbox Code Playgroud)

最近,我遇到了这个shebang声明:

#!/usr/bin/env python
Run Code Online (Sandbox Code Playgroud)

在脚本文档中,注意到使用此表单"更具可移植性".

这个声明是什么意思?为什么路径中间有空间?它实际上是否有助于稳定性?

python portability shebang

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

Python中的"Boilerplate"代码?

谷歌有一个Python教程,他们将样板代码描述为"不幸",并提供了这个例子:

#!/usr/bin/python

# import modules used here -- sys is a very standard one
import sys

# Gather our code in a main() function
def main():
  print 'Hello there', sys.argv[1]
  # Command line args are in sys.argv[1], sys.argv[2] ..
  # sys.argv[0] is the script name itself and can be ignored

# Standard boilerplate to call the main() function to begin
# the program.
if __name__ == '__main__':
  main()
Run Code Online (Sandbox Code Playgroud)

现在,我听说样板代码被描述为"看似重复的代码,一次又一次地出现以获得一些似乎应该更简单的结果"(例子).

无论如何,在Python中,上面例子中被认为是"样板"代码的部分是:

if __name__ == '__main__':
  main()
Run Code Online (Sandbox Code Playgroud)

现在,我的问题如下:

1)Python中的样板代码(如提供的示例)是否与我提供的定义具有相同的定义?如果是这样,为什么?

2)这个代码甚至是必要的吗?在我看来,代码运行是否有主要方法.是什么让这个代码变得更好?它更好吗? …

python boilerplate

30
推荐指数
2
解决办法
4万
查看次数

内核如何获得在linux下运行的可执行二进制文件?

内核如何获得在linux下运行的可执行二进制文件?

这似乎是一个简单的问题,但任何人都可以帮助我深入挖掘?如何将文件加载到内存以及如何启动执行代码?

任何人都可以帮助我,一步一步地告诉我们发生了什么吗?

c linux

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

在不直接调用`java`的情况下运行JAR文件

我正在部署一个用Java编写的命令行工具,它接受命令行参数.我把它打包成一个JAR文件,因为它有一个单个文件很方便.

问题是要运行它,你必须先打电话java -jar (filename) (args),这是非常烦人的.

我目前的方式是有一个简单的bash脚本启动它,但这不太理想.

无论如何(在Linux,Ubuntu Server中)是否要生成一个自己调用Java VM的JAR文件?我找了一个shebang,但找不到一个(当然这是有道理的,因为它是编译代码).

这就是我想要做的:myprogram.jar arg1 -arg2而不是这个:java -jar myprogram.jar arg1 -arg2

谢谢,
Brian

java linux command-line

22
推荐指数
2
解决办法
8058
查看次数

./xx.py:line 1:import:未找到命令

我正在尝试使用此Python urllib2 Basic Auth Problem代码来从需要身份验证的URL下载网页内容.我正在尝试的代码是:

 import urllib2, base64

request = urllib2.Request("http://api.foursquare.com/v1/user")
base64string = base64.encodestring('%s:%s' % (username, password)).replace('\n', '')
request.add_header("Authorization", "Basic %s" % base64string)   
result = urllib2.urlopen(request)
Run Code Online (Sandbox Code Playgroud)

它告诉我:

./xx.py: line 1: import: command not found
./xx.py: line 3: syntax error near unexpected token `('
./xx.py: line 3: `request = urllib2.Request("http://api.foursquare.com/v1/user")'
Run Code Online (Sandbox Code Playgroud)

我想知道我做错了什么?我在用Python 2.7.5.如何从需要身份验证的URL下载文件内容?

python url

19
推荐指数
4
解决办法
8万
查看次数

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

#!/ usr/bin/...在文件开头是什么意思?

我可以在Haskell中做这样的事情:

#!/usr/bin/runghc
main=putStrLn "Hello World"
Run Code Online (Sandbox Code Playgroud)

然后我可以运行它 ./hello.hs

我的问题是,为什么忽略第一行?haskell中的注释开头,--但第一行似乎仍然被忽略.它甚至加载到ghci.这个技巧也适用于Python和Perl.

但是当我在Java中做类似的事情:

#!/usr/local/jdk1.6.0_13/bin/javac
...
Run Code Online (Sandbox Code Playgroud)

Javac给了我一个编译器错误.

那么这是如何工作的呢?我将如何使用Java?

谢谢.

linux command-line shebang

16
推荐指数
2
解决办法
9817
查看次数

/ usr/bin/env:python2:没有这样的文件或目录

我试图在Ubuntu上为我的Emacs配置Python,我收到以下错误:

/usr/bin/env: python2: No such file or directory
Run Code Online (Sandbox Code Playgroud)

有人可以帮我吗?我该怎么做才能解决它?

python linux ubuntu

16
推荐指数
2
解决办法
5万
查看次数

何时使用utf8作为py文件中的标题

来自下载代码的某些源文件具有以下标头

# -*- coding: utf-8 -*-
Run Code Online (Sandbox Code Playgroud)

我知道utf-8编码是什么,但为什么它需要作为python源文件中的头?

python utf-8

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

apt-get install用于不同的python版本

我默认使用ubuntu 10.04和python2.6.我安装了python2.7.

当我想安装python包时

apt-get python-<package> 
Run Code Online (Sandbox Code Playgroud)

它被安装到python2.6.如何才能将软件包安装到python2.7?有什么选择吗?

我看过这个,但我在操作系统中找不到这样的目录.我考虑过使用easy_install-2.7,但不支持所有软件包.例如python-torctl.

我更感兴趣的是绑定python2.7 apt-get install.

python linux installation ubuntu

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