标签: argv

参数是URL或路径

Python当我有一个命令行应用程序采用一个参数时,标准做法是什么

网页的URL

要么

磁盘上某处的HTML文件的路径

(只有一个)

代码足够了吗?

if "http://" in sys.argv[1]:
  print "URL"
else:
  print "path to file"
Run Code Online (Sandbox Code Playgroud)

python argv

9
推荐指数
2
解决办法
7758
查看次数

在Haskell中设置argv [0]?

有没有办法argv[0]在Haskell程序中设置(比如用ghc编译的程序)?

我在System.Environment中找到了getProgNamewithProgName函数,但它似乎没有改变什么ps报告(Ubuntu).

import System.Environment

main =
  do name <- getProgName
     putStrLn $ "Hello, my name is " ++ name
     withProgName "other" $ do
       newname <- getProgName
       putStrLn $ "Name now set to " ++ newname
       putStrLn "What is your name: "
       -- allow time to run ps
       ans <- getLine
       putStrLn $ "Pleased to meet you, " ++ ans
Run Code Online (Sandbox Code Playgroud)

ubuntu haskell ps argv

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

如何获取执行冻结脚本的路径

如果您运行的是冷冻python脚本从一个目录(使用py2exe冻结)和驱动从那里脚本存在不同的,什么是确定执行脚本的路径的最佳方式?

我尝试过的解决方案很少

inspect.getfile(inspect.currentframe())
Run Code Online (Sandbox Code Playgroud)

问题:不返回完整路径.它只返回脚本名称.

os.path.abspath( __file__ )
Run Code Online (Sandbox Code Playgroud)

问题:在Windows上不起作用

os.path.dirname(sys.argv[0])
Run Code Online (Sandbox Code Playgroud)

问题:返回空字符串.

os.path.abspath(inspect.getsourcefile(way3))
Run Code Online (Sandbox Code Playgroud)

如果驱动器与pwd不同,则无法工作

os.path.dirname(os.path.realpath(sys.argv[0]))
Run Code Online (Sandbox Code Playgroud)

如果驱动器与pwd不同,则无法工作

这是一个最小的不工作的例子

D:\>path
PATH=c:\Python27\;c:\Users\abhibhat\Desktop\ToBeRemoved\spam\dist\;c:\gnuwin32\bin

D:\>cat c:\Users\abhibhat\Desktop\ToBeRemoved\spam\eggs.py
import os, inspect, sys
def way1():
    return os.path.dirname(sys.argv[0])

def way2():
    return inspect.getfile(inspect.currentframe())

def way3():
    return os.path.dirname(os.path.realpath(sys.argv[0]))

def way4():
    try:
        return os.path.abspath( __file__ )
    except NameError:
        return "Not Found"
def way5():
    return os.path.abspath(inspect.getsourcefile(way3))

if __name__ == '__main__':
    print "Path to this script is",way1()
    print "Path to this script is",way2()
    print "Path to this script is",way3()
    print "Path to this script is",way4()
    print …
Run Code Online (Sandbox Code Playgroud)

python windows path argv

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

你如何将python中的命令行参数转换为字典?

我正在编写一个带有任意命令行参数的应用程序,然后将它们传递给python函数:

$ myscript.py --arg1=1 --arg2=foobar --arg1=4
Run Code Online (Sandbox Code Playgroud)

然后在myscript.py里面:

import sys
argsdict = some_function(sys.argv)
Run Code Online (Sandbox Code Playgroud)

这里argsdict看起来是这样的:

{'arg1': ['1', '4'], 'arg2': 'foobar'}
Run Code Online (Sandbox Code Playgroud)

我确定某个地方有一个图书馆可以做到这一点,但我找不到任何东西.

编辑: argparse/getopt/optparse不是我想要的.这些库用于定义每次调用相同的接口.我需要能够处理任意参数.

除非,argparse/optparse/getopt具有执行此操作的功能......

python command-line sys argv

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

Python Popen发送到stdin上的进程,在stdout上接收

我将命令行上的可执行文件传递给我的python脚本.我做了一些计算,然后我想将STDIN上的这些计算结果发送到可执行文件.完成后我想从STDOUT获取可执行文件的结果.

ciphertext = str(hex(C1))
exe = popen([sys.argv[1]], stdout=PIPE, stdin=PIPE)
result = exe.communicate(input=ciphertext)[0]
print(result)
Run Code Online (Sandbox Code Playgroud)

当我打印时,result我什么都没有,不是没有,是空行.我确信可执行文件可以处理数据,因为我使用命令行中的">"重复相同的操作,并使用相同的先前计算结果.

python popen argv

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

Argv - String into Integer

我是python的新手,我一直在玩argv.我在这里写了这个简单的程序并得到一个错误,上面写着:

TypeError:%d format:需要一个数字,而不是str

from sys import argv

file_name, num1, num2 = argv
int(argv[1])
int(argv[2])
def addfunc(num1, num2):
    print "This function adds %d and %d" % (num1, num2)
    return num1 + num2

addsum = addfunc(num1, num2)
print "The final sum of addfunc is: " + str(addsum)
Run Code Online (Sandbox Code Playgroud)

当我运行filename.py 2 2时,argv是否将2 2放入字符串中?如果是这样,我如何将这些转换为整数?

谢谢你的帮助.

python argv

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

在c ++中将字符串转换为argv

我有一个std :: string包含一个用execv执行的命令,什么是最好的"C++"方法将它转换为execv()的第二个参数所需的"char*argv []"?

澄清:

std::string cmd = "mycommand arg1 arg2";
char *cmd_argv[];

StrToArgv(cmd, cmd_argv); // how do I write this function?

execv(cmd_argv[0], cmd_argv);
Run Code Online (Sandbox Code Playgroud)

c++ stdstring argv

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

argv [0]可以包含空字符串吗?

在任何C程序中,命令行参数argv[0]指向用于调用程序的名称.是否存在任何指向空字符串的情况""

这种情况的示例代码片段将是一个很好的参考.

c argv

8
推荐指数
3
解决办法
5387
查看次数

C argv数据的最大大小是多少

可能重复:
关于main函数的命令行参数

我如何确定可以传递到C main的最大数据大小(int argc,char*argv)?标准中是否有一个宏来定义它?数据是否由主进程"拥有"(即我的程序是否存储此数据),还是由操作系统以某种方式"拥有",我可以获得指向它的指针?

c argv

8
推荐指数
2
解决办法
9966
查看次数

在python中清除sys.argv

当用户在 MySQL cli 中指定密码时,又名-pXXXXXX,密码参数被替换为-p******argv 数组。

因此,当有人使用 来检查进程列表时ps,他们看不到密码。

我如何在 Python 中做同样的事情?这显然不起作用

for arg in sys.argv[1:]:
    arg = ""
Run Code Online (Sandbox Code Playgroud)

python argv

8
推荐指数
2
解决办法
5546
查看次数

标签 统计

argv ×10

python ×6

c ×2

c++ ×1

command-line ×1

haskell ×1

path ×1

popen ×1

ps ×1

stdstring ×1

sys ×1

ubuntu ×1

windows ×1