如何解决python 3从字符串
我编写了这段代码以删除字符串中的所有新行”,但它会用\ n打印该值 我仍然得到以下输出:4762-9539 \ n' 如何从该字符串中删除所有\ n?
#!/usr/bin/python3
import os
import subprocess
bash_command_lsbk = 'lsblk /dev/sdb1 > /home/user/Downloads/usb_id'
file_path = '/home/user/Downloads/ddd'
usb_id = '/home/user/Downloads/usb_id'
read_permission = 'r'
write_permission = 'w'
def print_usb_id():
url = os.system(bash_command_lsbk)
line = str(subprocess.check_output(['tail','-1',usb_id])).split('/')[-1]
x = open(file_path,write_permission)
x.write(line)
def read():
with open(file_path,'r') as new_file_format:
for new_line in new_file_format:
new_line = new_line.rstrip('\n')
print(new_line)
if __name__ == '__main__':
print_usb_id()
read()
解决方法
您没有将字节字符串正确转换为字符串。这就是为什么在字符串中添加其他字符的原因。 代替
str(subprocess.check_output(['tail','-1',usb_id]))
您应该写
subprocess.check_output(['tail',usb_id]).decode('utf-8')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。