python2 python调用windows cmd命令输出乱码、如何在PyCharm中以管理员权限运行Python文件

python调用windows cmd命令输出乱码

解决方法:
在调用cmd命令前先更改一下cmd的编码方式
os.system(‘chcp 65001’)

如何在PyCharm中以管理员权限运行Python文件

# coding=utf-8
import os


def print_hi():
    os.system('chcp 65001')
    target = "www.baidu.com"

    with os.popen('ping -c 1 %s' % target, "r") as p:
        r = p.read()
        print r


if __name__ == '__main__':
    print_hi()

pycharm运行上面代码,结果报错 Access denied. Option -c requires administrative privileges.

F:\code_work\register\venv\Scripts\python.exe F:/code_work/register/test.py
Active code page: 65001
Access denied. Option -c requires administrative privileges.

解决方法:
以管理员身份启动pycharm,然后将以管理员身份运行所有脚本。

### 解决 PyCharm 中 `os.system` 命令执行时的中文乱码问题 当在 PyCharm 使用 Python 的 `os.system()` 函数来调用命令行并尝试显示中文字符时,可能会遇到输出乱码的情况。这通常是因为默认编码设置不匹配所引起的。 为了确保能够正确处理和显示中文字符,建议采取以下措施: #### 设置环境变量 LC_ALL 和 LANG 可以通过设置系统的区域选项(locale settings),使得终端能识别 UTF-8 编码下的多字节字符集。可以在运行程序之前临时更改这些环境变量,或者永久更改为支持 Unicode 的值,比如 zh_CN.UTF-8 或 en_US.UTF-8[^2]。 ```bash export LC_ALL=zh_CN.UTF-8 export LANG=zh_CN.UTF-8 ``` #### 修改 PyCharm 控制台编码配置 进入PyCharm首选项/设置 -> Editor -> File Encodings ,确认全局编码、项目编码以及控制台编码都已设为UTF-8 。此外还需检查 "Transparent native-to-ascii conversion" 是否关闭[^1]。 #### 替代方案 subprocess.Popen() 对于更加复杂的场景,推荐使用 `subprocess.Popen()` 来替代简单的 `os.system()` 调用方式。这种方式提供了更好的灵活性,并允许直接指定输入输出流及其编码格式[^4]: ```python import subprocess cmd = ['echo', '你好'] result = subprocess.run(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, text=True, encoding='utf-8') print(result.stdout) ``` 以上方法应该可以帮助解决大多数情况下由于编码差异而导致的中文乱码现象。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西京刀客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值