修剪 python 中的字符串 3
trimming strings in python 3
我有这个函数来获取文件类型:
def get_file_type():
try:
cmd = ['/usr/bin/file', '/home/user']
p = Popen(cmd, stdout=PIPE).communicate()[0]
p = str(p).split(':')[1:]
if len(p) > 1:
' : '.join(p).strip().replace('\n', '')
else:
p = p[0].strip().replace('\n', '')
print(p)
except CalledProcessError:
print('unknown')
但它 returns 这个 : 目录'
结尾的撇号不是错字,这让我很困扰。而且我不明白为什么(不是因为它困扰我..;))
谢谢
问题是您将字节视为字符串并且您正在使用 Python3。所以当你调用 str(p)
时你得到的是这样的:
"b'/home/user: directory\n'"
您可以通过 p.decode().split
而不是 str(p).split
来解决这个问题
我有这个函数来获取文件类型:
def get_file_type():
try:
cmd = ['/usr/bin/file', '/home/user']
p = Popen(cmd, stdout=PIPE).communicate()[0]
p = str(p).split(':')[1:]
if len(p) > 1:
' : '.join(p).strip().replace('\n', '')
else:
p = p[0].strip().replace('\n', '')
print(p)
except CalledProcessError:
print('unknown')
但它 returns 这个 : 目录' 结尾的撇号不是错字,这让我很困扰。而且我不明白为什么(不是因为它困扰我..;))
谢谢
问题是您将字节视为字符串并且您正在使用 Python3。所以当你调用 str(p)
时你得到的是这样的:
"b'/home/user: directory\n'"
您可以通过 p.decode().split
而不是 str(p).split