为什么在ubuntu下 在python代码中加入 if __name__ == "__main__" 后 程序无输入,去掉有输出
时间: 2023-11-20 12:07:23 浏览: 23
`if __name__ == "__main__"` 是 Python 中的一个特殊条件语句,它用来判断当前文件是否是作为模块被导入到其他文件中执行,或者作为独立的脚本文件直接被执行。
如果你的程序中加入了 `if __name__ == "__main__"`,那么在作为模块导入时,这部分代码不会被执行。只有在直接执行该脚本文件时,才会执行这部分代码。
如果在 Ubuntu 下运行 Python 程序时,出现了程序无输入的情况,而去掉 `if __name__ == "__main__"` 后有输出,那么可能是因为在执行时,该程序作为模块被导入到其他文件中执行了,而这部分代码被跳过了。你可以通过在命令行中直接执行该脚本文件,或者将该脚本文件作为主程序执行,来看到程序的输出。
相关问题
python代码加密运行_在linux下安装pyconcrete加密python代码
在 Linux 下安装 PyConcrete 加密 Python 代码的步骤如下:
1. 安装 Python 和 pip
PyConcrete 是一个 Python 模块,因此需要安装 Python 和 pip。在 Ubuntu 上,可以使用以下命令安装:
```
sudo apt update
sudo apt install python3 python3-pip
```
2. 安装 PyConcretee
使用 pip 安装 PyConcretee:
```
pip3 install pyconcrete
```
3. 创建加密脚本
创建一个 Python 脚本,将要加密和保护。例如,我们可以创建一个名为 `my_script.py` 的文件,其中包含以下内容:
```
def my_function():
print("Hello, world!")
if __name__ == '__main__':
my_function()
```
4. 创建加密配置文件
创建一个名为 `pyconcrete.cfg` 的文件,并将以下内容添加到其中:
```
[pyconcrete]
key = my_secret_key
mode = encrypt
```
其中,`key` 是一个用于加密和解密文件的密钥,`mode` 是指定 PyConcretee 运行模式的选项。在此示例中,我们将使用 `encrypt` 模式加密文件。
5. 加密脚本
使用 PyConcretee 加密脚本:
```
pyconcrete-tool.py encrypt my_script.py -c pyconcrete.cfg -o my_script_encrypted.py
```
这将使用 `pyconcrete.cfg` 中指定的密钥和模式,将 `my_script.py` 文件加密,并将结果保存到 `my_script_encrypted.py` 文件中。
6. 运行加密脚本
使用 Python 运行加密脚本:
```
python3 my_script_encrypted.py
```
这将运行已加密的 `my_script_encrypted.py` 文件,并输出 `Hello, world!`。
在以上步骤中,我们使用 PyConcretee 加密了一个 Python 脚本,并在 Linux 上运行了加密后的脚本。
#!./venv/bin/python def print_info(): print("Hello World!") if "__name__" == "__main__": print_info() 此代码在ubuntu下午输出
首先需要在终端中进入到代码所在的目录,然后输入以下命令来给 `venv/bin/python` 添加可执行权限:
```
chmod +x venv/bin/python
```
接着,在代码文件的第一行添加如下代码:
```
#!/bin/bash
./venv/bin/python
```
这个代码告诉操作系统使用 Bash 来解释这个脚本,并且使用虚拟环境下的 Python 解释器来运行代码。最终的代码应该是这样的:
```
#!/bin/bash
./venv/bin/python
def print_info():
print("Hello World!")
if __name__ == "__main__":
print_info()
```
保存代码文件后,在终端中输入以下命令来执行代码:
```
./<代码文件名>
```
这样就可以在 Ubuntu 下运行这个代码并输出 "Hello World!" 了。