我正在寻找一些关于使用变量生成文件路径的最佳方法的建议,目前我的代码看起来类似于以下内容:
path = /my/root/directory
for x in list_of_vars:
if os.path.isdir(path + '/' + x): # line A
print(x + ' exists.')
else:
os.mkdir(path + '/' + x) # line B
print(x + ' created.')
Run Code Online (Sandbox Code Playgroud)
对于如上所示的A行和B行,有没有更好的方法来创建文件路径,因为这会越深入我深入研究目录树?
我设想现有的内置方法如下使用:
create_path(path, 'in', 'here')
Run Code Online (Sandbox Code Playgroud)
产生一种形式的路径 /my/root/directory/in/here
如果没有内置功能,我会自己写一个.
谢谢你的任何意见.
可能重复:
检查Python中打开的文件
你好,
是否有可能获得所有当前打开的文件句柄的列表,我认为它们存储在环境中的某个位置.
我对theis函数感兴趣,因为我想安全地处理在引发致命错误时打开的任何文件,即关闭文件句柄并用原始文件替换可能已损坏的文件.
我有处理工作,但不知道什么文件句柄是打开的,我无法实现这个想法.
顺便说一句,当初始化文件句柄时,是否可以通过另一个导入的方法继承它?
谢谢
是while True一种可接受的循环代码块的方法,直到达到如下所接受的案例为止?有没有更优雅的方式来做到这一点?
while True:
value = input()
if value == condition:
break
else:
pass
# Continue code here.
Run Code Online (Sandbox Code Playgroud)
谢谢你的任何意见.
我希望使用用户键入的字符串生成密码,我正在阅读的书推荐使用sha,md5因为它被认为更强.
sha但是已被弃用,我现在正在使用该hashlib模块以类似于此处所示的方式加密我的字符串:http://docs.python.org/py3k/library/hashlib.html#module-hashlib.
import os
import hashlib
from getpass import getpass
print('Username: ' + os.environ['USER'])
passwd = getpass('Password: ')
h = hashlib.md5()
h.update(passwd.encode())
passwd_encrypt = h.hexdigest()
Run Code Online (Sandbox Code Playgroud)
然后passwd_encrypt,我将与包含用户名和加密密码列表的普通ascii文件进行比较,如下所示:
THO 5f4dcc3b5aa765d61d8327deb882cf99
Run Code Online (Sandbox Code Playgroud)
这是一种加密密码的合适技术还是有更好的方法?我也对以这种方式存储密码是否合适以及可能的替代方案感兴趣.
谢谢
python ×4
encryption ×1
filehandle ×1
linux ×1
passwords ×1
path ×1
python-3.x ×1
while-loop ×1