python的路径linux_无法在Python中获取当前目录路径(Linux)

我试图在Linux环境中执行我在Windows中编写的程序,

我一直在应该从子文件夹导入文件的行上出错。

该程序给出以下错误,

Traceback (most recent call last):

File"BlackBox.py", line 26, in

from BB_Files import BB_Expand

ImportError: No module named BB_Files

尽管BB_Files文件夹中存在BB_Expand文件,但我仍然收到错误消息。

我也尝试在Python中附加当前目录的路径,

sys.path.append("/home/pe/Desktop/AES")

# Sub-Folders of AES are also accessible

sys.path.append("/home/pe/Desktop/AES/BB_Files")

但仍然没有运气,

这是文件结构,

/home/pe/Desktop/AES/Main.py

/home/pe/Desktop/AES/BB_Files

/home/pe/Desktop/AES/BB_Files/BB_Days.py

/home/pe/Desktop/AES/BB_Files/BB_Expand.py

/home/pe/Desktop/AES/BB_Files/BB_Steps.py

这是ls -l命令的输出,

drwxrwx--x 4 pe users  4096 Oct 26 21:43 BB_Files

-rw-rw---- 1 pe users 15284 Oct 26 22:04 Main.py

这是文件中的一些初始代码,

import sys    # sys.argv ; sys.path, sys.exit

import os

import hashlib

import struct # Interpret strings as packed binary data

import getopt # for Runtime arguments

import time

from datetime import date

# Append Paths from where the Files would be Imported.

sys.path.append("/home/pe/Desktop/AES")

# Sub-Folders of AES are also accessible

sys.path.append("/home/pe/Desktop/AES/BB_Files")

# Sub-Fodlers of BB_Files are also accessible now (Tables)

from BB_Files import BB_Expand

from BB_Files import BB_Steps

from BB_Files import BB_Days

这是给出错误的一行,

from BB_Files import BB_Expand

该程序不会在此行之后运行,因为Python无法找到此模块。

但是当我试图打印当前目录的路径时,我什么都没得到,看看,

print("Path is:",os.path.dirname(__file__))

print("sufiyan")

输出:

('Path is:', '')

sufiyan

Traceback (most recent call last):

File"BlackBox.py", line 25, in

from bbfiles import bbexpand

ImportError: No module named bbfiles

我想知道为什么在Windows中打印时没有打印路径。

我得到的只是一个黑色空间而不是当前目录的路径。

尝试将__init__.py文件添加到两个文件夹

你的意思是一个空文件?

是的,这个文件告诉python该文件夹是一个模块,只是它的存在。

来自BB_Files导入BB_Expand并且你有错误来自bbfiles import bbexpand? BB_Files如何变成bbfiles?

默认情况下,在Python中,from xxx import yyy并不意味着xxx是目录,yyy是该目录中的某个模块。 尝试将一个空的__init__.py文件添加到xxx然后它们将起作用。 在文档中查找"包"。

显然,以下行将抛出ImportError错误

from BB_Files import BB_Expand

## if you comment this the next immediate line will give you same error

因为这是您第一次尝试从包中导入模块

所以,当你说

from import

意味着,您要从package/module导入module/class/function

在你的情况下,它是一个package,可能是一个名为__init__.py的文件放在你的目录中,所以python会将该目录视为一个包。

## try this to get your directory name

print __file__

print"Path is:", os.path.dirname(os.path.abspath(__file__))

你只需使用print()表示法,因为你使用的是python3 +

在/home/pe/Desktop/AES/BB_Files目录中添加名为__init__.py的空文件应该可以解决问题。阅读有关Python Docs的更多信息。

尝试将__init__.py文件添加到两个目录中。它不必包含任何东西,但它必须存在。

当Python尝试加载模块目录时,它首先尝试加载此文件,因为它可以包含有关加载模块的其他指令(例如从正确的文件导入与平台相关的代码的能力)。如果Python找不到该文件,则可能不会将该目录视为Python模块,并且无法从中导入文件。

在文档中阅读更多相关信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 如果在 Linux 下已安装 Python,但是在命令行输入 `python` 却提示不到 python 命令,很可能是因为 Python 没有被正确地添加到系统的 PATH 环境变量。您可以尝试以下方法: 1. 查看 Python 安装的路径 在命令行输入 `which python` 或者 `whereis python`,可以查看 Python 安装的路径。通常情况下,Python 会被安装在 `/usr/bin/python` 或 `/usr/local/bin/python`。 2. 添加 Python 路径到 PATH 环境变量 打开终端,输入以下命令: ``` export PATH=$PATH:/usr/bin/python ``` 或者 ``` export PATH=$PATH:/usr/local/bin/python ``` 其路径 `:/usr/bin/python` 或 `:/usr/local/bin/python` 取决于你的 Python 安装路径。 如果想要永久性地将 Python 添加到 PATH 环境变量,可以修改 `~/.bashrc` 文件(如果使用的是 bash shell),在文件末尾添加: ``` export PATH=$PATH:/usr/bin/python ``` 或者 ``` export PATH=$PATH:/usr/local/bin/python ``` 保存并退出,然后在命令行输入 `source ~/.bashrc` 以使修改立即生效。 ### 回答2: 在Linux下安装Python后,如果不到Python命令,可能是因为系统的环境变量没有设置正确。 首先,可以尝试使用绝对路径执行Python命令,例如: ``` /usr/bin/python ``` 如果以上方式可行,说明Python的安装路径正确,但系统的环境变量没有正确设置。为了方便使用Python命令,我们可以通过修改环境变量来解决这个问题。 打开终端,输入以下命令来编辑`.bashrc`文件(如果使用的是其他shell,如zsh,应该编辑相应的配置文件): ``` vi ~/.bashrc ``` 在打开的文件到类似于以下的行: ``` export PATH=$PATH:/usr/local/bin ``` 在该行的末尾添加Python的安装路径,例如: ``` export PATH=$PATH:/usr/local/bin:/usr/bin/python ``` 保存并退出文件。然后输入以下命令使修改生效: ``` source ~/.bashrc ``` 现在,应该可以在终端使用`python`命令来执行Python了。 如果还是不到Python命令,可能是因为Python执行文件名不是`python`,而是`python3`。可以尝试使用以下命令来执行Python程序: ``` python3 ``` 可以通过`which python3`命令来查Python3安装的位置,并相应地修改环境变量。 通过以上方法,应该能够解决在Linux下安装Python不到Python命令的问题。 ### 回答3: 在Linux系统下,如果已经安装了Python,但是在终端输入Python命令时不到Python,可以按照以下步骤进行排查和解决: 1. 检查Python是否正确安装:可以通过在终端输入`python --version`命令来查看Python的版本号,如果输出版本号,则说明Python已经正确安装。如果没有输出版本号或者提示“command not found”,则需要重新安装Python。 2. 检查Python的安装路径是否在系统的环境变量:在终端输入`echo $PATH`命令来查看系统的环境变量路径。如果Python的安装路径没有包含在其,则需要将Python的安装路径添加到系统的环境变量,可以通过编辑`.bashrc`文件或者`.bash_profile`文件,并添加类似于`export PATH=$PATH:/path/to/python`这样的语句,然后使用`source`命令使其生效。 3. 检查Python的可执行文件是否存在:使用`which python`命令可以查看系统到的Python执行文件路径。如果没有输出路径,则说明系统无法Python执行文件,可能是安装路径不正确或者安装有问题。需要检查安装路径,或者重新安装Python。 总结:如果在Linux系统下已经安装了Python,但是在终端输入Python命令时不到Python,可以先检查Python是否正确安装,然后检查Python的安装路径是否在系统的环境变量,最后检查Python的可执行文件是否存在。根据具体情况进行排查和解决。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值