python - subprocess.call() 的正确语法
问题描述
我有以下脚本:
import glob
import subprocess
import os
filePath = "/tmp/ming"
keyword = "GC10^Dummy-Segment"
#if keyword in filePath:
new=glob.glob('/tmp/ming/*Dummy-Segment*')
print(new)
for x in new:
subprocess.call(['hdfs dfs -copyFromLocal {0} /user/app'.format(x)], shell=True)
打印(新)产生:
['/tmp/mike/GC10^Dummy-Segment_2018', '/tmp/mike/GC10^Dummy-Segment_2019']
看到以下错误:
copyFromLocal: unexpected URISyntaxException
copyFromLocal: unexpected URISyntaxException
在较早的尝试中,我不得不用 %5E 替换 ^ 但我现在真的不确定如何替换 ^。
我认为对于新的每个 x,我必须在 ^ 所在的位置添加 %5E,然后执行 copyFromLocal。但是我该怎么做呢?
另外,我正在运行 Python 2.6.6
解决方案
推荐阅读
- regex - perl 多行问题:需要一个衬里来打印文件中字符串之前的最后一个匹配项
- java - Spring ReactiveCrudRepository ExistsQuery 方法返回 null
- html - 选择带有新行问题的选项
- sql - Hive SQL Cast 返回整数
- rust - From trait 实现可以是有损的吗?
- tensorflow - 使用按相关性排序的数据训练神经网络
- hyperledger-fabric - 用于生产级 Fabric 区块链业务解决方案的 Hyperledger Composer
- python - Tensorflow 为交叉熵输出 NaN
- python - AES-GCM 用于 Python 中的文件加密
- git - 私钥还是公钥?Github