相关疑难解决方法(0)

从相对路径导入模块

如何根据相对路径导入Python模块?

例如,如果dirFoo包含Foo.pydirBar,和dirBar包含Bar.py,我怎么导入Bar.pyFoo.py

这是一个直观的表示:

dirFoo\
    Foo.py
    dirBar\
        Bar.py
Run Code Online (Sandbox Code Playgroud)

Foo希望包括Bar,但重组文件夹层次结构不是一种选择.

python relative-path python-import

749
推荐指数
16
解决办法
88万
查看次数

如何在Python中获取绝对文件路径

给定一个路径"mydir/myfile.txt",如何在Python中找到相对于当前工作目录的文件的绝对路径?例如在Windows上,我最终可能会:

"C:/example/cwd/mydir/myfile.txt"
Run Code Online (Sandbox Code Playgroud)

python path relative-path absolute-path

653
推荐指数
9
解决办法
77万
查看次数

如果文件不存在,Python中的open()不会创建文件

打开文件作为读/写(如果存在)或不存在的最佳方法是什么,然后创建它并将其作为读/写打开?从我读到的,file = open('myfile.dat', 'rw')应该这样做,对吧?

它不适合我(Python 2.6.2),我想知道它是否是一个版本问题,或者不应该像那样或什么工作.

最重要的是,我只需要解决问题的方法.我很好奇其他的东西,但我需要的只是一个很好的方式来做开场部分.

更新:封闭目录可由用户和组写入,而不是其他(我在Linux系统上...所以权限775换句话说),确切的错误是:

IOError:没有这样的文件或目录.

python linux file-io file-permissions

607
推荐指数
13
解决办法
76万
查看次数

如何获取当前正在执行的文件的路径和名称?

我有脚本调用其他脚本文件,但我需要获取当前在该进程中运行的文件的文件路径.

例如,假设我有三个文件.使用execfile:

  • script_1.py电话script_2.py.
  • 反过来,script_2.py打电话script_3.py.

我怎样才能获得的文件名和路径script_3.py,从内部代码script_3.py,而无需从传递这些信息作为参数script_2.py

(执行os.getcwd()返回原始起始脚本的文件路径而不是当前文件的.)

python scripting file

462
推荐指数
16
解决办法
51万
查看次数

为什么os.path.join()在这种情况下不起作用?

下面的代码将不会加入,在调试时,命令不会存储整个路径,只会存储最后一个条目.

os.path.join('/home/build/test/sandboxes/', todaystr, '/new_sandbox/')
Run Code Online (Sandbox Code Playgroud)

当我测试它时,它只存储/new_sandbox/代码的一部分.

python path

307
推荐指数
9
解决办法
47万
查看次数

如何正确确定当前脚本目录?

我想看看在python中确定当前脚本目录的最佳方法是什么?

我发现,由于调用python代码的方法很多,很难找到一个好的解决方案.

这是一些问题:

  • __file__如果脚本执行时未定义exec,execfile
  • __module__ 仅在模块中定义

用例:

  • ./myfile.py
  • python myfile.py
  • ./somedir/myfile.py
  • python somedir/myfile.py
  • execfile('myfile.py') (来自另一个脚本,可以位于另一个目录中,并且可以有另一个当前目录.

我知道没有完美的解决方案,但我正在寻找解决大多数情况的最佳方法.

最常用的方法是os.path.dirname(os.path.abspath(__file__)),如果你从另一个脚本执行脚本,这实际上不起作用exec().

警告

任何使用当前目录的解决方案都将失败,根据调用脚本的方式或者可以在运行的脚本中更改它,可能会有所不同.

python pythonpath dirname

229
推荐指数
8
解决办法
10万
查看次数

python:SyntaxError:EOL扫描字符串文字时

我有上面提到的错误 s1="some very long string............"

谁知道我做错了什么?

python string string-literals

146
推荐指数
7
解决办法
73万
查看次数

在Python中的相对位置打开文件

假设python代码在先前的Windows目录中称为"main"而不知道,并且在运行时安装代码的任何地方都需要访问目录"main/2091/data.txt".

我应该如何使用开放(位置)功能?应该是什么位置?

编辑:

我发现下面的简单代码会起作用..它有什么缺点吗?

    file="\2091\sample.txt"
    path=os.getcwd()+file
    fp=open(path,'r+');
Run Code Online (Sandbox Code Playgroud)

python file path relative-path

112
推荐指数
7
解决办法
38万
查看次数

如何使用Python连接到远程PostgreSQL数据库

我想通过Python连接到远程PostgreSQL数据库来进行一些基本的数据分析.这个数据库需要SSL(verify-ca)以及三个文件(我有):

  • 服务器根证书文件
  • 客户端证书文件
  • 客户端密钥文件

我找不到一个描述如何与Python建立连接的教程.任何帮助表示赞赏.

python postgresql ssl python-2.7 python-3.6

29
推荐指数
2
解决办法
3万
查看次数

如何用pandas使用相对路径在`data_folder`中打开我的文件?

我正在使用pandas并且需要阅读一些csv文件,结构是这样的.

文件夹/文件夹2/scripts_folder/script.py

文件夹/文件夹2/data_folder/data.csv

如何从scripts_folder中的脚本打开data.csv文件?

我试过这个:

absolute_path = os.path.abspath(os.path.dirname('data.csv'))

pandas.read_csv(absolute_path + '/data.csv')
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

File folder/folder2/data_folder/data.csv does not exist
Run Code Online (Sandbox Code Playgroud)

python relative-path pandas

23
推荐指数
6
解决办法
9万
查看次数