我们可以在许多地方使用Pathlib。
查找使用with open(...)
任何地方并问自己:
Path()
会有意义吗?不要试图咬超过您可以咀嚼的东西(或超过我可以评论的东西),尝试一次固定一个地方。
大家好,
大家好,
当然可以。 谢谢。
嗨,我想在core / interactiveshell.py上工作,并在那里增加对Pathlib的使用。
我可以帮忙吗?
嘿@Carreau我可以接受testing / iptestcontroller.py和core / magics / execution.py吗?
可能还会有用: https: //docs.python.org/3/library/pathlib.html#correspondence -to-tools-in-the-os-module
除了with open()
,还有许多其他地方可能使用pathlib处理:
- conda_history = os.path.join(sys.prefix, 'conda-meta', 'history')
- return os.path.exists(conda_history)
+ return Path(sys.prefix, 'conda-meta', 'history').exists()
那是个很好的观点。
2020年10月10日星期六,晚上8:33 Blazej Michalik [email protected]
写道:
可能也有用:
https://docs.python.org/3/library/pathlib.html#correspondence -to-tools-in-the-os-module除了open()之外,还有许多其他地方可能使用pathlib
治疗:
- conda_history = os.path.join(sys.prefix,'conda-meta','history')-返回os.path.exists(conda_history)+ return Path(sys.prefix,'conda-meta','history') .exists()
-
您收到此邮件是因为您发表了评论。
直接回复此电子邮件,在GitHub上查看
https://github.com/ipython/ipython/issues/12515#issuecomment-706630653 ,
或退订
https://github.com/notifications/unsubscribe-auth/ADMY5F73MJDQ6CL32KEUZS3SKD4LXANCNFSM4QNPWX2Q
。
可能还会有用: https: //docs.python.org/3/library/pathlib.html#correspondence -to-tools-in-the-os-module
除了
with open()
,还有许多其他地方可能使用pathlib处理:
尽管...其中有些可能不太琐碎,但更容易出错,尤其是在将它们解释为文本时。 例如,当返回PosixPath
对象时,它会在上面的范围内中断代码,因为它是' '.join()
-ed与其他shell参数。
还有什么地方可以解决这个问题? 看起来很多人都在为此工作。
编辑:发现一些,没关系
还有什么地方可以解决这个问题? 看起来很多人都在为此工作。
我正在慢慢检查PR并将它们合并,我不确定是否还有其他地方。
还有其他可以尝试的方法; 查找所有使用cast_unicode / cast_bytes的位置,并查看它们是否可移动。 其中许多是由于旧的Python 2兼容性所致。
例如有
def find_file(obj) -> str:
...
fname = None
try:
fname = inspect.getabsfile(obj)
except TypeError:
# For an instance, the file that matters is where its class was
# declared.
if hasattr(obj, '__class__'):
try:
fname = inspect.getabsfile(obj.__class__)
except TypeError:
# Can happen for builtins
pass
except:
pass
return cast_unicode(fname)
如果可以证明inspect.getabsfil
始终返回str而不返回字节,则cast_unicode
是不必要的。 要做更多的工作,但这将清除bt代码库。
我在整个项目中搜索了功能,然后发现了许多功能。 我应该考虑用Pathlib替代项替换所有这些替代项,还是应该考虑不替换其中的功能的文件?
对不起,如果我不能让你明白我想说的话。
我正在paths.py
并在以下几个函数中找到了以下行:
assert isinstance(ipdir, str)
其中一个断言给出一条消息,指示"all path manipulation should be str(unicode), but are not."
。
我应该删除这样的行,以便移至pathlib吗?
我正在
paths.py
并在以下几个函数中找到了以下行:assert isinstance(ipdir, str)
其中一个断言给出一条消息,指示
"all path manipulation should be str(unicode), but are not."
。我应该删除这样的行,以便移至pathlib吗?
是的,因此某些地方无法使用。
大家好,我正在尝试查看所有PR,有很多解决此问题的方法,请小心,有些人正在发送已打开其他PR的更改。
为什么现在关闭?
@meeseeksdev打开
噢,对不起,ashwinvis,您似乎未被允许这样做,请咨询存储库维护者。
我是新来的开源贡献者,很乐意致力于这个问题。 完成更改后,在创建PR之前测试代码的最简单方法是什么?
我是新来的开源贡献者,很乐意致力于这个问题。 完成更改后,在创建PR之前测试代码的最简单方法是什么?
你好@squarebat
你应该做这个:
$ pip3 install -e .[test]
$ iptest
我想处理test_run.py
文件。 但是,我在解决该文件中的某些错误时遇到了麻烦。 两个主要错误是
undefined variable get_ipython
(此问题通过添加导入来解决,但这似乎是错误的)
undefined variable _ip
:在某些函数中, _ip
初始化为_ip = get_ipython()
从而定义了它,但在其他函数中却未初始化,因此导致了错误。
我已经使用pip install .
设置了我的环境
我只是想知道设置环境时是否出错,或者test_run.py
文件中是否有错误。
我已经使用
pip install
设置了环境
您必须使用pip install -e .[test]
-e
表示您以可编辑模式安装它。
你好! 这是我第一次为开源项目做贡献,我想研究这个问题。
我可以被分配吗?
最有用的评论
大家好,我正在尝试查看所有PR,有很多解决此问题的方法,请小心,有些人正在发送已打开其他PR的更改。