Python - 检索“.txt”文件 v
Python - Retrieve ".txt" file v
我正在尝试通过 python 文件中的 wget 命令 检索“.txt”文件 (python 2.7)
这是我使用的代码:
```
product_file = subprocess.check_output([
'wget',
'--http-user=example@example.ch',
'--http-password=example',
'--no-check-certificate',
'--output-document=file.txt',
'--no-cache',
'--auth-no-challenge',
'https://www.example.com',
'shell=True'
])
catalog = open(product_file)
```
当我 运行 代码时,我遇到了这个错误:
RuntimeError: Command '['wget', '--http-user=example@example.ch', '--http-password=example', '--no-check-certificate', '--output-document=catalog.txt', '--no-cache', '--auth-no-challenge', 'https://www.example.com', 'shell=True']' return with error (code 1)
当我在终端中尝试 wget 命令时,它起作用了;我能够检索文件“.txt”。
我已经检查了 file/directory 权限。
我阅读了关于子流程模块的 python 文档,但我并不了解每个细节(我没有太多经验);这个子流程模块肯定缺少一些东西。
我认为问题出在shell=True
。您的意思是将其作为 subprocess.check_output
函数的关键字参数,而不是 wget
命令的一部分。
您实际上想将 shell
kwargs 传递给 check_output
函数:
product_file = subprocess.check_output([
'wget',
'--http-user=example@example.ch',
'--http-password=example',
'--no-check-certificate',
'--output-document=file.txt',
'--no-cache',
'--auth-no-challenge',
'https://www.example.com'
], shell=True)
catalog = open(product_file)
(还有一个括号问题)
试试这个:-
product_file = subprocess.check_output(
'wget --http-user=example@example.ch --http-password=example --no-check-certificate --output-document=file.txt --no-cache --auth-no-challenge https://www.example.com', shell=True)
我正在尝试通过 python 文件中的 wget 命令 检索“.txt”文件 (python 2.7)
这是我使用的代码:
```
product_file = subprocess.check_output([
'wget',
'--http-user=example@example.ch',
'--http-password=example',
'--no-check-certificate',
'--output-document=file.txt',
'--no-cache',
'--auth-no-challenge',
'https://www.example.com',
'shell=True'
])
catalog = open(product_file)
```
当我 运行 代码时,我遇到了这个错误:
RuntimeError: Command '['wget', '--http-user=example@example.ch', '--http-password=example', '--no-check-certificate', '--output-document=catalog.txt', '--no-cache', '--auth-no-challenge', 'https://www.example.com', 'shell=True']' return with error (code 1)
当我在终端中尝试 wget 命令时,它起作用了;我能够检索文件“.txt”。 我已经检查了 file/directory 权限。
我阅读了关于子流程模块的 python 文档,但我并不了解每个细节(我没有太多经验);这个子流程模块肯定缺少一些东西。
我认为问题出在shell=True
。您的意思是将其作为 subprocess.check_output
函数的关键字参数,而不是 wget
命令的一部分。
您实际上想将 shell
kwargs 传递给 check_output
函数:
product_file = subprocess.check_output([
'wget',
'--http-user=example@example.ch',
'--http-password=example',
'--no-check-certificate',
'--output-document=file.txt',
'--no-cache',
'--auth-no-challenge',
'https://www.example.com'
], shell=True)
catalog = open(product_file)
(还有一个括号问题)
试试这个:-
product_file = subprocess.check_output(
'wget --http-user=example@example.ch --http-password=example --no-check-certificate --output-document=file.txt --no-cache --auth-no-challenge https://www.example.com', shell=True)